<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>汽车价格离群值检测</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir="rtl"] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir="rtl"] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir="rtl"] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir="rtl"] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir="rtl"] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: "(command)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}

@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Vast-&#27773;&#36710;&#20215;&#26684;&#31163;&#32676;&#20540;&#26816;&#27979;">Vast &#27773;&#36710;&#20215;&#26684;&#31163;&#32676;&#20540;&#26816;&#27979;<a class="anchor-link" href="#Vast-&#27773;&#36710;&#20215;&#26684;&#31163;&#32676;&#20540;&#26816;&#27979;">&#182;</a></h1><p>离群点（Outliers），简单而言就是离其余数据点非常远的数据点。它们会极大的影响后续的分析结果，甚至产生有误导的分析结果。</p>
<p><a href="http://www.vast.com/">Vast</a>向3个行业的出版商、市场和搜索引擎提供数据，这三个行业包括汽车、房地产和休闲、住宿和旅游。Vast的系统通过白标签集成，并在一些非常受欢迎的消费应用程序（Southwest GetAway Finder，AOL Travel，Yahoo! Travel，Car and Driver等等）中提供搜索结果、产品建议和特别优惠。</p>
<p>Vast的汽车数据是由成千上万的二手汽车卖家提供，并且向市场公布。由于这些数据是由用户手工录入，因此容易受到人为失误的影响，比如用户在错误的字段中提交值，或者无意中发生错误或胖手指值。 对于8岁的车辆，里程表读数为100,000英里。 直觉告诉我们，100,000美元是大多数小型车的不寻常的价格。 一个上市的42000美元是合理的，比如2013年的凯迪拉克ATS豪华版，而对另一个（例如1997年的别克莱斯布雷）来说，这可能是意料之外的。</p>
<p><img src="./img/2013cadillac.png" alt="2013cadillac">
<img src="./img/1997buick.png" alt="2013cadillac"></p>
<p><div align="center">图1： 2013年的凯迪拉克ATS豪华版与1997年的别克莱斯布雷汽车信息</div>
<br>
检测离群值有利于纠正错误，向用户提供卓越和合适的产品。</p>
<h2 id="1.-&#25968;&#25454;&#38598;&#25551;&#36848;">1. &#25968;&#25454;&#38598;&#25551;&#36848;<a class="anchor-link" href="#1.-&#25968;&#25454;&#38598;&#25551;&#36848;">&#182;</a></h2><p>数据集包括训练数据集和测试数据集：</p>
<ul>
<li><code>accord_sedan_testing.csv</code></li>
<li><code>accord_sedan_training.csv</code></li>
</ul>
<p><img src="./img/2016-honda-accord-sdn_100522223_l.jpg" alt="hondaaccord">
测试数据集<code>accord_sedan_training.csv</code>包含了417辆本田雅阁轿车的信息列表。各个特征如下：</p>
<table>
<thead><tr>
<th style="text-align:center">特征名称</th>
<th style="text-align:center">含义</th>
<th style="text-align:center">类型</th>
<th style="text-align:center">取值示例</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">$price$</td>
<td style="text-align:center">价格</td>
<td style="text-align:center">int</td>
<td style="text-align:center">14995</td>
</tr>
<tr>
<td style="text-align:center">$mileage$</td>
<td style="text-align:center">已行驶英里数</td>
<td style="text-align:center">int</td>
<td style="text-align:center">67697</td>
</tr>
<tr>
<td style="text-align:center">$year$</td>
<td style="text-align:center">上市年份</td>
<td style="text-align:center">int</td>
<td style="text-align:center">2006</td>
</tr>
<tr>
<td style="text-align:center">$trim$</td>
<td style="text-align:center">档次</td>
<td style="text-align:center">str</td>
<td style="text-align:center">ex;：高配款且带皮革内饰<br>ex：高配款<br>lx：低配款</td>
</tr>
<tr>
<td style="text-align:center">$engine$</td>
<td style="text-align:center">引擎缸数</td>
<td style="text-align:center">int</td>
<td style="text-align:center">4 Cyl：4缸<br>6 Cyl：6缸</td>
</tr>
<tr>
<td style="text-align:center">$transmission$</td>
<td style="text-align:center">换挡方式</td>
<td style="text-align:center">str</td>
<td style="text-align:center">Manual：手动挡<br>Automatic：自动挡</td>
</tr>
</tbody>
</table>
<h2 id="3.-&#23548;&#20837;&#25968;&#25454;&#38598;&#24182;&#20999;&#20998;">3. &#23548;&#20837;&#25968;&#25454;&#38598;&#24182;&#20999;&#20998;<a class="anchor-link" href="#3.-&#23548;&#20837;&#25968;&#25454;&#38598;&#24182;&#20999;&#20998;">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span> <span class="c1"># 读取数据表并进行基于DataFrame结构的操作</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="kn">as</span> <span class="nn">sns</span>
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
<span class="kn">from</span> <span class="nn">sklearn</span> <span class="kn">import</span> <span class="n">preprocessing</span>
<span class="kn">from</span> <span class="nn">sklearn.feature_extraction</span> <span class="kn">import</span> <span class="n">DictVectorizer</span>
<span class="kn">from</span> <span class="nn">sklearn.linear_model</span> <span class="kn">import</span> <span class="n">LinearRegression</span>
<span class="o">%</span><span class="k">matplotlib</span> inline

<span class="kn">import</span> <span class="nn">warnings</span>
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s1">&#39;ignore&#39;</span><span class="p">)</span> <span class="c1"># 不显示warning信息</span>
<span class="n">pd</span><span class="o">.</span><span class="n">options</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="mi">900</span> <span class="c1"># Dataframe 显示宽度设置</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="&#30011;&#22270;&#37197;&#33394;&#26041;&#26696;">&#30011;&#22270;&#37197;&#33394;&#26041;&#26696;<a class="anchor-link" href="#&#30011;&#22270;&#37197;&#33394;&#26041;&#26696;">&#182;</a></h4><ul>
<li>绿色 #5dbe80</li>
<li>蓝色 #2d9ed8</li>
<li>紫色 #a290c4</li>
<li>橙色 #efab40</li>
<li>红色 #EE5150</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">train</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;accord_sedan_training.csv&#39;</span><span class="p">)</span>
<span class="k">print</span> <span class="s1">&#39;The shape is&#39;</span><span class="p">,</span><span class="n">train</span><span class="o">.</span><span class="n">shape</span>
<span class="n">train</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">7</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>The shape is (417, 6)
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt output_prompt">Out[2]:</div>


<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>price</th>
      <th>mileage</th>
      <th>year</th>
      <th>trim</th>
      <th>engine</th>
      <th>transmission</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>14995</td>
      <td>67697</td>
      <td>2006</td>
      <td>ex</td>
      <td>4 Cyl</td>
      <td>Manual</td>
    </tr>
    <tr>
      <th>1</th>
      <td>11988</td>
      <td>73738</td>
      <td>2006</td>
      <td>ex</td>
      <td>4 Cyl</td>
      <td>Manual</td>
    </tr>
    <tr>
      <th>2</th>
      <td>11999</td>
      <td>80313</td>
      <td>2006</td>
      <td>lx</td>
      <td>4 Cyl</td>
      <td>Automatic</td>
    </tr>
    <tr>
      <th>3</th>
      <td>12995</td>
      <td>86096</td>
      <td>2006</td>
      <td>lx</td>
      <td>4 Cyl</td>
      <td>Automatic</td>
    </tr>
    <tr>
      <th>4</th>
      <td>11333</td>
      <td>79607</td>
      <td>2006</td>
      <td>lx</td>
      <td>4 Cyl</td>
      <td>Automatic</td>
    </tr>
    <tr>
      <th>5</th>
      <td>10067</td>
      <td>96966</td>
      <td>2006</td>
      <td>lx</td>
      <td>4 Cyl</td>
      <td>Automatic</td>
    </tr>
    <tr>
      <th>6</th>
      <td>8999</td>
      <td>126150</td>
      <td>2006</td>
      <td>lx</td>
      <td>4 Cyl</td>
      <td>Automatic</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[3]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 将 train 划分为 x 和 y</span>
<span class="n">train_x</span> <span class="o">=</span> <span class="n">train</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s1">&#39;price&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
<span class="n">train_y</span> <span class="o">=</span> <span class="n">train</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="4.-&#29305;&#24449;&#25552;&#21462;&#24182;&#26500;&#24314;&#32447;&#24615;&#22238;&#24402;&#27169;&#22411;">4. &#29305;&#24449;&#25552;&#21462;&#24182;&#26500;&#24314;&#32447;&#24615;&#22238;&#24402;&#27169;&#22411;<a class="anchor-link" href="#4.-&#29305;&#24449;&#25552;&#21462;&#24182;&#26500;&#24314;&#32447;&#24615;&#22238;&#24402;&#27169;&#22411;">&#182;</a></h2><p>使用<code>sklearn.feature_extraction</code>中的<code>DictVectorizer</code>将名义型变量实现One-Hot编码，得到一个10维向量空间，包括：</p>
<ul>
<li>engine=4 Cyl</li>
<li>engine=6 Cyl</li>
<li>mileage</li>
<li>price</li>
<li>transmission=Automatic</li>
<li>transmission=Manual</li>
<li>trim=ex</li>
<li>trim=exl</li>
<li>trim=lx</li>
<li>year</li>
</ul>
<p>注意：在异常值检测时需要利用到$~price~$特征。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[4]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># One-Hot编码方法一：使用`DictVectorizer`实现</span>
<span class="n">dv</span> <span class="o">=</span> <span class="n">DictVectorizer</span><span class="p">()</span>
<span class="n">dv</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">train</span><span class="o">.</span><span class="n">T</span><span class="o">.</span><span class="n">to_dict</span><span class="p">()</span><span class="o">.</span><span class="n">values</span><span class="p">())</span> <span class="c1"># one-hot 编码</span>
<span class="k">print</span> <span class="s1">&#39;Dimension is&#39;</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">dv</span><span class="o">.</span><span class="n">feature_names_</span><span class="p">)</span>
<span class="n">dv</span><span class="o">.</span><span class="n">feature_names_</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>Dimension is 10
</pre>
</div>
</div>

<div class="output_area">
<div class="prompt output_prompt">Out[4]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>[&#39;engine=4 Cyl&#39;,
 &#39;engine=6 Cyl&#39;,
 &#39;mileage&#39;,
 &#39;price&#39;,
 &#39;transmission=Automatic&#39;,
 &#39;transmission=Manual&#39;,
 &#39;trim=ex&#39;,
 &#39;trim=exl&#39;,
 &#39;trim=lx&#39;,
 &#39;year&#39;]</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>也可以使用<code>pandas</code>的<code>get_dummies</code>函数实现one-hot编码：</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># One-Hot编码方法二：使用`pandas`的`get_dummies`函数实现</span>
<span class="n">nomial_var</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;engine&#39;</span><span class="p">,</span><span class="s1">&#39;trim&#39;</span><span class="p">,</span><span class="s1">&#39;transmission&#39;</span><span class="p">]</span>
<span class="n">multi_dummies</span> <span class="o">=</span> <span class="p">[]</span> <span class="c1"># 存储三个 DataFrame</span>
<span class="n">train_x_dummies</span> <span class="o">=</span> <span class="n">train_x</span><span class="p">[[</span><span class="s1">&#39;mileage&#39;</span><span class="p">,</span><span class="s1">&#39;year&#39;</span><span class="p">]]</span>
<span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">nomial_var</span><span class="p">:</span>
    <span class="n">dummies</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">get_dummies</span><span class="p">(</span><span class="n">train_x</span><span class="p">[</span><span class="n">col</span><span class="p">],</span> <span class="n">prefix</span> <span class="o">=</span> <span class="n">col</span><span class="p">)</span>
    <span class="n">train_x_dummies</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">concat</span><span class="p">([</span><span class="n">train_x_dummies</span><span class="p">,</span><span class="n">dummies</span><span class="p">],</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> <span class="c1"># 将编码结果与非编码特征水平拼接起来</span>
<span class="n">train_x_dummies</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[5]:</div>


<div class="output_html rendered_html output_subarea output_execute_result">
<div>
<style>
    .dataframe thead tr:only-child th {
        text-align: right;
    }

    .dataframe thead th {
        text-align: left;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>mileage</th>
      <th>year</th>
      <th>engine_4 Cyl</th>
      <th>engine_6 Cyl</th>
      <th>trim_ex</th>
      <th>trim_exl</th>
      <th>trim_lx</th>
      <th>transmission_Automatic</th>
      <th>transmission_Manual</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>0</th>
      <td>67697</td>
      <td>2006</td>
      <td>1</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
    </tr>
    <tr>
      <th>1</th>
      <td>73738</td>
      <td>2006</td>
      <td>1</td>
      <td>0</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
    </tr>
    <tr>
      <th>2</th>
      <td>80313</td>
      <td>2006</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>1</td>
      <td>0</td>
    </tr>
    <tr>
      <th>3</th>
      <td>86096</td>
      <td>2006</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>1</td>
      <td>0</td>
    </tr>
    <tr>
      <th>4</th>
      <td>79607</td>
      <td>2006</td>
      <td>1</td>
      <td>0</td>
      <td>0</td>
      <td>0</td>
      <td>1</td>
      <td>1</td>
      <td>0</td>
    </tr>
  </tbody>
</table>
</div>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 构建线性回归模型</span>
<span class="n">train_x_array</span> <span class="o">=</span> <span class="n">dv</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">train_x</span><span class="o">.</span><span class="n">T</span><span class="o">.</span><span class="n">to_dict</span><span class="p">()</span><span class="o">.</span><span class="n">values</span><span class="p">())</span>
<span class="c1"># train_x_array = train_x_dummies.values # 也可以使用get_dummies得到的结果</span>

<span class="n">LR</span> <span class="o">=</span> <span class="n">LinearRegression</span><span class="p">()</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">train_x_array</span><span class="p">,</span><span class="n">train_y</span><span class="p">)</span>
<span class="s1">&#39; + &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">format</span><span class="p">(</span><span class="n">LR</span><span class="o">.</span><span class="n">intercept_</span><span class="p">,</span> <span class="s1">&#39;0.2f&#39;</span><span class="p">)]</span> 
           <span class="o">+</span> <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="n">f</span><span class="p">,</span><span class="n">c</span><span class="p">):</span> <span class="s2">&quot;(</span><span class="si">%0.2f</span><span class="s2"> </span><span class="si">%s</span><span class="s2">)&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">f</span><span class="p">),</span> 
               <span class="nb">zip</span><span class="p">(</span><span class="n">dv</span><span class="o">.</span><span class="n">feature_names_</span><span class="p">,</span> <span class="n">LR</span><span class="o">.</span><span class="n">coef_</span><span class="p">)))</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[6]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>&#39;12084.24 + (-337.20 engine=4 Cyl) + (337.20 engine=6 Cyl) + (-0.05 mileage) + (0.00 price) + (420.68 transmission=Automatic) + (-420.67 transmission=Manual) + (208.93 trim=ex) + (674.60 trim=exl) + (-883.53 trim=lx) + (2.23 year)&#39;</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>即拟合得到的模型为：</p>
<p>$price≈12084.24 − 337.20(engine=4Cyl) + 337.20(engine=6Cyl) - 0.05(mileage) + 420.68(transmission=Automatic) - 420.67(transmission=Manual) + 208.93(trim=ex) + 674.60(trim=exl) - 883.53(trim=lx) + 2.23(year)$</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="5.-&#31163;&#32676;&#20540;&#26816;&#27979;">5. &#31163;&#32676;&#20540;&#26816;&#27979;<a class="anchor-link" href="#5.-&#31163;&#32676;&#20540;&#26816;&#27979;">&#182;</a></h2><p>由测试集拟合得到的模型，我们可以预测测试集中的价格，计算每个样本的绝对误差，并得出</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[7]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pred_y</span> <span class="o">=</span> <span class="n">LR</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">dv</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">train</span><span class="o">.</span><span class="n">T</span><span class="o">.</span><span class="n">to_dict</span><span class="p">()</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
<span class="n">train_error</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">pred_y</span> <span class="o">-</span> <span class="n">train_y</span><span class="p">)</span> <span class="c1"># 计算绝对误差</span>
<span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error</span><span class="p">,[</span><span class="mi">75</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">95</span><span class="p">,</span><span class="mi">99</span><span class="p">])</span> <span class="c1"># 计算绝对误差数据的百分位数</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[7]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>array([ 1391.7170651 ,  2200.19427829,  2626.9376324 ,  3857.4605309 ])</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>我们也可以画出 train_error 的盒图来观察离群值。
<img src="./img/boxplot.png" alt="boxplot"></p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[8]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">sns</span><span class="o">.</span><span class="n">boxplot</span><span class="p">(</span><span class="n">x</span> <span class="o">=</span> <span class="n">train_error</span><span class="p">,</span><span class="n">palette</span> <span class="o">=</span> <span class="s2">&quot;Set2&quot;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[8]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>&lt;matplotlib.axes._subplots.AxesSubplot at 0x114d12910&gt;</pre>
</div>

</div>

<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
EdJXvkqyRwAAAABJRU5ErkJggg==
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>可以看到测试集中存在部分离群值。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>在本案例中，我们设定置信水平为0.95，即认为超过95%百分位数的train_error为离群值。下面我们在二维空间中画出正常值（蓝色）与离群值（红色）：</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[9]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">outlierIndex</span> <span class="o">=</span> <span class="n">train_error</span> <span class="o">&gt;=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error</span><span class="p">,</span> <span class="mi">95</span><span class="p">)</span>
<span class="n">inlierIndex</span> <span class="o">=</span> <span class="n">train_error</span> <span class="o">&lt;</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error</span><span class="p">,</span> <span class="mi">95</span><span class="p">)</span>

<span class="c1"># 得到train_error最大的index值，即极端离群值</span>
<span class="n">most_severe</span> <span class="o">=</span> <span class="n">train_error</span><span class="p">[</span><span class="n">outlierIndex</span><span class="p">]</span><span class="o">.</span><span class="n">idxmax</span><span class="p">()</span> 

<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>
<span class="n">indexes</span> <span class="o">=</span> <span class="p">[</span><span class="n">inlierIndex</span><span class="p">,</span> <span class="n">outlierIndex</span><span class="p">,</span> <span class="n">most_severe</span><span class="p">]</span>
<span class="n">color</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;#2d9ed8&#39;</span><span class="p">,</span><span class="s1">&#39;#EE5150&#39;</span><span class="p">,</span><span class="s1">&#39;#a290c4&#39;</span><span class="p">]</span>
<span class="n">label</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;normal points&#39;</span><span class="p">,</span> <span class="s1">&#39;outliers&#39;</span><span class="p">,</span> <span class="s1">&#39;extreme outliers&#39;</span><span class="p">]</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">l</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">indexes</span><span class="p">,</span><span class="n">color</span><span class="p">,</span><span class="n">label</span><span class="p">):</span>
    <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">train</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">],</span> 
                <span class="n">train_y</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> 
                <span class="n">c</span><span class="o">=</span><span class="n">c</span><span class="p">,</span>
                <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;^&#39;</span><span class="p">,</span>
                <span class="n">label</span><span class="o">=</span><span class="n">l</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span> <span class="o">=</span> <span class="s1">&#39;upper right&#39;</span><span class="p">,</span>
           <span class="n">frameon</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
           <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;k&#39;</span><span class="p">,</span>
           <span class="n">framealpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
           <span class="n">fontsize</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$mileage$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$price$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
<span class="n">sns</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="s1">&#39;dark&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>我们来看看离群值的数量有多少？</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">outlierIndex</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[10]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>False    396
True      21
Name: price, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>上图结果也符合我们的经验理解，二手车的行驶公里数越高，它卖出去的价格就应该越低，所以对于处在右上和左下区域的点可能是一些离群值（对于同一款车而言）。比如左下区域的点，一些行驶里程数低，价格也比较低的车辆，有可能该车辆是事故车辆或者有损坏，而右上区域的离群值有可能是真实的离群值，相对来讲不容易有合理的解释，可能是输入失误或者胖手指输入造成。</p>
<p>本案例中的数据只有400多条，如果数据再多一些，则检测的结果会更加可靠。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="6.-&#26631;&#20934;&#21270;&#23545;&#31163;&#32676;&#20540;&#26816;&#27979;&#30340;&#24433;&#21709;">6. &#26631;&#20934;&#21270;&#23545;&#31163;&#32676;&#20540;&#26816;&#27979;&#30340;&#24433;&#21709;<a class="anchor-link" href="#6.-&#26631;&#20934;&#21270;&#23545;&#31163;&#32676;&#20540;&#26816;&#27979;&#30340;&#24433;&#21709;">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>通常情况下，为了避免不同尺度的影响。我们在进行线性回归模型拟合之前，需要对各个特征进行标准化。常见的标准化有z-score标准化、0-1标准化等，这里我们选择z-score标准化来观察标准化对离群值检测的影响。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[11]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 利用 preprocessing.scale函数将特征标准化</span>
<span class="n">columns</span> <span class="o">=</span> <span class="n">train_x_dummies</span><span class="o">.</span><span class="n">columns</span>
<span class="n">train_x_zscore</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">preprocessing</span><span class="o">.</span><span class="n">scale</span><span class="p">(</span><span class="n">train_x_dummies</span><span class="p">),</span><span class="n">columns</span> <span class="o">=</span> <span class="n">columns</span><span class="p">)</span>
<span class="c1">#train_y_zscore = pd.DataFrame(preprocessing.scale(pd.DataFrame(train_y,columns=[&#39;price&#39;])),columns = [&#39;price&#39;])</span>

<span class="c1"># 线性模型拟合</span>
<span class="n">LR_zscore</span> <span class="o">=</span> <span class="n">LinearRegression</span><span class="p">()</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">train_x_zscore</span><span class="o">.</span><span class="n">values</span><span class="p">,</span><span class="n">train_y</span><span class="p">)</span>
<span class="s1">&#39; + &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">format</span><span class="p">(</span><span class="n">LR_zscore</span><span class="o">.</span><span class="n">intercept_</span><span class="p">,</span> <span class="s1">&#39;0.2f&#39;</span><span class="p">)]</span> 
           <span class="o">+</span> <span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="n">f</span><span class="p">,</span><span class="n">c</span><span class="p">):</span> <span class="s2">&quot;(</span><span class="si">%0.2f</span><span class="s2"> </span><span class="si">%s</span><span class="s2">)&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">f</span><span class="p">),</span> 
               <span class="nb">zip</span><span class="p">(</span><span class="n">dv</span><span class="o">.</span><span class="n">feature_names_</span><span class="p">,</span> <span class="n">LR_zscore</span><span class="o">.</span><span class="n">coef_</span><span class="p">)))</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[11]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>&#39;12084.24 + (-1353.40 engine=4 Cyl) + (-0.00 engine=6 Cyl) + (-166.91 mileage) + (166.91 price) + (225.03 transmission=Automatic) + (138.41 transmission=Manual) + (-274.18 trim=ex) + (116.65 trim=exl) + (-116.65 trim=lx)&#39;</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[12]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pred_y_zscore</span> <span class="o">=</span> <span class="n">LR_zscore</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">train_x_zscore</span><span class="p">)</span>
<span class="n">train_error_zscore</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">pred_y_zscore</span> <span class="o">-</span> <span class="n">train_y</span><span class="p">)</span> <span class="c1"># 计算绝对误差</span>
<span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error_zscore</span><span class="p">,[</span><span class="mi">75</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">95</span><span class="p">,</span><span class="mi">99</span><span class="p">])</span> <span class="c1"># 计算绝对误差数据的百分位数</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[12]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>array([ 1391.71708207,  2200.19426726,  2626.93763764,  3857.46054116])</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[13]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">outlierIndex_zscore</span> <span class="o">=</span> <span class="n">train_error_zscore</span> <span class="o">&gt;=</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error_zscore</span><span class="p">,</span> <span class="mi">95</span><span class="p">)</span>
<span class="n">inlierIndex_zscore</span> <span class="o">=</span> <span class="n">train_error_zscore</span> <span class="o">&lt;</span> <span class="n">np</span><span class="o">.</span><span class="n">percentile</span><span class="p">(</span><span class="n">train_error_zscore</span><span class="p">,</span> <span class="mi">95</span><span class="p">)</span>
<span class="n">diff</span> <span class="o">=</span> <span class="p">(</span><span class="n">outlierIndex_zscore</span> <span class="o">!=</span> <span class="n">outlierIndex</span><span class="p">)</span>  <span class="c1"># diff 用于存储标准化前后的离群值检测结果不同的index</span>
<span class="n">diff</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[13]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>False    417
Name: price, dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[14]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 画出标准化前后的检测差异点</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>

<span class="c1"># rep_inlierIndex为标准化前后都为正常值的index</span>
<span class="n">rep_inlierIndex</span> <span class="o">=</span> <span class="p">(</span><span class="n">inlierIndex</span> <span class="o">==</span> <span class="n">inlierIndex_zscore</span><span class="p">)</span>

<span class="n">indexes</span> <span class="o">=</span> <span class="p">[</span><span class="n">rep_inlierIndex</span><span class="p">,</span> <span class="n">outlierIndex</span><span class="p">,</span> <span class="n">outlierIndex_zscore</span><span class="p">]</span>
<span class="n">color</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;#2d9ed8&#39;</span><span class="p">,</span><span class="s1">&#39;#EE5150&#39;</span><span class="p">,</span><span class="s1">&#39;#a290c4&#39;</span><span class="p">]</span>
<span class="n">markers</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;^&#39;</span><span class="p">,</span><span class="s1">&#39;&lt;&#39;</span><span class="p">,</span><span class="s1">&#39;&gt;&#39;</span><span class="p">]</span>
<span class="n">label</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;inliers&#39;</span><span class="p">,</span> <span class="s1">&#39;outliers before z-score&#39;</span><span class="p">,</span> <span class="s1">&#39;outliers after z-score&#39;</span><span class="p">]</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">l</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">indexes</span><span class="p">,</span><span class="n">color</span><span class="p">,</span><span class="n">markers</span><span class="p">,</span><span class="n">label</span><span class="p">):</span>
    <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">train</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">],</span> 
                <span class="n">train_y</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> 
                <span class="n">c</span><span class="o">=</span><span class="n">c</span><span class="p">,</span>
                <span class="n">marker</span><span class="o">=</span><span class="n">m</span><span class="p">,</span>
                <span class="n">label</span><span class="o">=</span><span class="n">l</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$mileage$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$price$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span> <span class="o">=</span> <span class="s1">&#39;upper right&#39;</span><span class="p">,</span>
           <span class="n">frameon</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
           <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;k&#39;</span><span class="p">,</span>
           <span class="n">framealpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
           <span class="n">fontsize</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span>
<span class="n">sns</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="s1">&#39;dark&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>从结果可以看到，绝大多数样本的检测结果一致。有两个样本存在差别，其中一个样本在标准化之前会被检测为离群值，另外一个样本在标准化之后会被检测为离群值。虽然在本例中，标准化前后的检测效果差异不是很大，我们仍然建议在线性建模之前对特征进行标准化。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="7.-&#27979;&#35797;&#38598;&#30340;&#39564;&#35777;">7. &#27979;&#35797;&#38598;&#30340;&#39564;&#35777;<a class="anchor-link" href="#7.-&#27979;&#35797;&#38598;&#30340;&#39564;&#35777;">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>我们先以$mileage$为横坐标，$price$为纵坐标画出训练集和测试集的所有样本点。</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[15]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">test</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;accord_sedan_testing.csv&#39;</span><span class="p">)</span>

<span class="n">datasets</span> <span class="o">=</span> <span class="p">[</span><span class="n">train</span><span class="p">,</span><span class="n">test</span><span class="p">]</span>
<span class="n">color</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;#2d9ed8&#39;</span><span class="p">,</span><span class="s1">&#39;#EE5150&#39;</span><span class="p">]</span>
<span class="n">label</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;training set&#39;</span><span class="p">,</span> <span class="s1">&#39;testing set&#39;</span><span class="p">]</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>
<span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">l</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">datasets</span><span class="p">)),</span><span class="n">color</span><span class="p">,</span><span class="n">label</span><span class="p">):</span>
    <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">datasets</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;mileage&#39;</span><span class="p">],</span> 
                <span class="n">datasets</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;price&#39;</span><span class="p">],</span> 
                <span class="n">c</span><span class="o">=</span><span class="n">c</span><span class="p">,</span>
                <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;^&#39;</span><span class="p">,</span>
                <span class="n">label</span><span class="o">=</span><span class="n">l</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$mileage$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$price$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span> <span class="o">=</span> <span class="s1">&#39;upper right&#39;</span><span class="p">,</span>
           <span class="n">frameon</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
           <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;k&#39;</span><span class="p">,</span>
           <span class="n">framealpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
           <span class="n">fontsize</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span>
<span class="n">sns</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="s1">&#39;dark&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
REQKmCiJiIgUMFESEREpSIh2A372s5/BYDAAAK666io8+eST+O1vfwuVSoXrr78eixcvhlqtRmFh
Id5//30kJCTgqaeewg9/+EO0tbVhwYIFaGhogF6vx/Lly5Genh7liIiIKJ5ENVFaLBYIIZCfn+98
7Mknn8TcuXPx/e9/H7/73e+wbds2fO9730N+fj4++ugjWCwW5ObmYsyYMSgoKEB2djZmz56NTZs2
YfXq1XjhhReiGBEREcWbqJ56PXbsGC5evIjp06fjkUcewaFDh1BaWorbbrsNADBu3Djs3bsXJSUl
uOWWW6DT6ZCSkoKsrCwcO3YMxcXFuOOOO5yv3bdvXzTDISKiOBTVHmVSUhIef/xxTJkyBadOncLM
mTMhhIBKpQIA6PV6GI1GmEwmpKSkON+n1+thMpncHne81p+0tGQkJGgiGkdGRor/F8UoxhZ74jUu
IH5ji9e4gPiILaqJ8tprr8U111wDlUqFa6+9Fr169UJpaanzebPZjNTUVBgMBpjNZrfHU1JS3B53
vNafpqbWiMaQkZGC+nr/CToWMbbYE69xAfEbW7zGBcRWbEoJPaqnXj/88EP8/ve/BwCcO3cOJpMJ
Y8aMwYEDBwAARUVFGDVqFIYPH47i4mJYLBYYjUaUl5cjOzsbI0aMwK5du5yvHTlyZNRiISKi+BTV
HuXkyZPx3HPPIScnByqVCsuWLUNaWhpefPFFrFy5EoMHD8b48eOh0WiQl5eH3NxcCCEwb948JCYm
IicnBwsXLkROTg60Wi1WrFgRzXCIiCgOqYQQItqN6EqRPg0QS6cWgsXYYk+8xgXEb2zxGhcQW7F1
21OvRERE3R0TJRERkQImSiIiIgVMlERERAqYKImIiBQwURIRESlgoiQiIlLARElERKSAiZKIiEgB
EyUREZECJkoiIiIFTJREREQKmCiJiIgUMFESEREpYKIkIiJSwERJRESkgImSiIhIARMlERGRAiZK
IiIiBUyURERECpgoiYiIFDBREhERKWCiJCIiUsBESUREpICJkoiISAETJRERkQImSiIiIgVMlERE
RAqYKImIiBQwURIRESlgoiQiIlLARElERKSAiZKIiEgBEyUREZECJkoiIiIFTJREREQKmCiJiIgU
MFESEREpYKIkIiJSwERJRESkgImSiIhIARMlXVls1mi3gIhiDBMlXTlsVmhWvArYbNFuCRHFECZK
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
AAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>我们来看看利用在训练集上训练得到的模型在测试集上的泛化效果：</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[16]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pred_y_test</span> <span class="o">=</span> <span class="n">LR</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">dv</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">test</span><span class="o">.</span><span class="n">T</span><span class="o">.</span><span class="n">to_dict</span><span class="p">()</span><span class="o">.</span><span class="n">values</span><span class="p">()))</span>
<span class="n">test_error</span> <span class="o">=</span> <span class="nb">abs</span><span class="p">(</span><span class="n">pred_y_test</span> <span class="o">-</span> <span class="n">test</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">])</span>

<span class="c1"># 使用分布图观察测试集误差</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>
<span class="n">sns</span><span class="o">.</span><span class="n">distplot</span><span class="p">(</span><span class="n">test_error</span><span class="p">,</span><span class="n">kde</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$test\_error$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$count$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAHPxJREFUeJzt3XtwlOXZx/Hfkk2QkKSArMpAOURBTdIOasTBYqQdMVTA
aoczk1ZDFSMUI0oDMYg2iKaIVmhFcWrtQGvIoGOVsaBSLRViOoMFhoBabMASaAwxmmwCZJPc7x99
Tcsxp90sXPv9/MUenue+L2v98uxmNx7nnBMAAMZ0C/cGAAAIBQIHADCJwAEATCJwAACTCBwAwCRv
uDfQFpWVtUE5T+/esaqurg/Kuc4HzGsb89oXaTO3d16fL/6sj0fUFZzXGxXuLXQp5rWNee2LtJmD
PW9EBQ4AEDkIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInA
AQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTvOHeQFfaWLxftf5jHT5+9PD+wdsMACCkuIIDAJhE
4AAAJhE4AIBJBA4AYBKBAwCYROAAACYROACASQQOAGASgQMAmETgAAAmETgAgEkEDgBgEoEDAJhE
4AAAJhE4AIBJBA4AYBKBAwCYROAAACYROACASQQOAGASgQMAmETgAAAmETgAgEkEDgBgkjfUCzQ1
NSkvL09lZWXyeDx69NFH1djYqFmzZmnw4MGSpGnTpumWW24J9VYAABEk5IF79913JUmFhYUqKSnR
008/re9973u68847lZmZGerlAQARKuSBu+mmmzR69GhJ0qFDh5SQkKDdu3errKxMmzdv1qBBg5Sb
m6u4uLhQbwUAEEE8zjnXFQvl5OTo7bff1ooVK1RRUaHLL79cKSkpWrVqlWpqapSTk3PGYxsbm+T1
RnV6DxuL93fq+LEjB3d6DwCArtFlgZOkyspKTZ48WYWFhbr44oslSfv27VN+fr5+97vfneW42qCs
v31flWr9xzp8/Ojh/YOyj67i88UH7Z/d+YB5bYu0eaXIm7m98/p88Wd9POQ/Rfnaa6/p+eeflyT1
6NFDHo9Hc+bM0a5duyRJxcXFSk5ODvU2AAARJuTvwd18881auHChZsyYocbGRuXm5qpfv37Kz89X
dHS0+vbtq/z8/FBvAwAQYUIeuNjYWD3zzDOn3F9YWBjqpQEAEYwPegMATCJwAACTCBwAwCQCBwAw
icABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAw
icABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAw
icABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAw
yRvqBZqampSXl6eysjJ5PB49+uij6t69uxYsWCCPx6OhQ4dq8eLF6taN1gIAgifkgXv33XclSYWF
hSopKdHTTz8t55yys7N13XXX6eGHH9bmzZs1ZsyYUG8FABBBQn7ZdNNNNyk/P1+SdOjQISUkJKi0
tFQjRoyQJKWlpWnbtm2h3gYAIMKE/ApOkrxer3JycvT2229rxYoV2rp1qzwejySpZ8+eqq2tPevx
vXvHyuuN6vxG9lUpPu6CDh/u88V3fg9d7Hzcc2cwr22RNq8UeTMHc94uCZwkFRQU6MEHH9TkyZN1
/Pjxlvvr6uqUkJBw1mOrq+uDto9a/7EOH1tZefYQn2t8vvjzbs+dwby2Rdq8UuTN3N55W4thyF+i
fO211/T8889Lknr06CGPx6OUlBSVlJRIkrZs2aLU1NRQbwMAEGFCfgV38803a+HChZoxY4YaGxuV
m5urSy+9VIsWLdJTTz2lxMREpaenh3obAIAIE/LAxcbG6plnnjnl/rVr14Z6aQBABOPDZwAAkwgc
AMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgc
AMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgc
AMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgc
AMAkAgcAMInAAQBM8oby5IFAQLm5uSovL1dDQ4OysrLUr18/zZo1S4MHD5YkTZs2TbfccksotwEA
iEAhDdzrr7+uXr16admyZfryyy912223afbs2brzzjuVmZkZyqUBABEupIEbO3as0tPTJUnOOUVF
RWn37t0qKyvT5s2bNWjQIOXm5iouLi6U2wAARCCPc86FehG/36+srCxNnjxZDQ0Nuvzyy5WSkqJV
q1appqZGOTk5Zz2+sbFJXm9Up/exsXh/p8/RUWNHDg7b2gAQiUJ6BSdJhw8f1uzZszV9+nRNmDBB
NTU1SkhIkCSNGTNG+fn5rZ6juro+aPup9R8L2rnao7KytsvX9Pniw7JuuDCvbZE2rxR5M7d3Xp8v
/qyPh/SnKI8cOaLMzEzNnz9fEydOlCTNnDlTu3btkiQVFxcrOTk5lFsAAESokF7BPffcc6qpqdGz
zz6rZ599VpK0YMECLV26VNHR0erbt2+bruAAAGivkAYuLy9PeXl5p9xfWFgYymUBAOCD3gAAmwgc
AMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgc
AMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgc
AMAkAgcAMInAAQBMInAAAJPaHLgXXnghlPsAACCo2hy4N99885T7fvWrXwV1MwAABEurgVu9erWm
TJmiyspKrV+/Xnv37lVjY6MkadOmTSHfIAAAHeFt7QmZmZkaOXKk7r33Xu3evVvr1q1TWVmZEhIS
NGTIkK7YIwAA7dZq4Lxer771rW/pN7/5jYYNGyZJamxsVEVFhS655JKQbxAAgI5o83twl112mT75
5BNVVFTI6/Wqf//+ioqKCuXeAADosFav4L6WlZWlAwcOqLGxUceOHVNSUpKSkpKUnZ0dyv0BANAh
bQ7c/v37tXHjRnk8HtXU1Ki0tFSlpaWh3BsAAB3W5sAlJiaqqalJXq9XCQkJGjlypEaOHBnKvQEA
0GFtfg/uoosu0vz581VRURHK/QAAEBRtvoKLjY3V/v37deuttyouLk4pKSlKTk7W3XfffcZjAoGA
cnNzVV5eroaGBmVlZemyyy7TggUL5PF4NHToUC1evFjduvGNYQCA4Gpz4HJyclr+fPDgQe3du1d7
9uw56zGvv/66evXqpWXLlunLL7/UbbfdpiuuuELZ2dm67rrr9PDDD2vz5s0aM2ZMxycAAOA02hy4
V155RcnJyRo6dKgGDBigAQMGtBqmsWPHKj09XZLknFNUVJRKS0s1YsQISVJaWpq2bt1K4AAAQdfm
wH344Ydas2aNPvvsMw0ZMkTJyclKSkrS1KlTz3hMz549JUl+v19z585Vdna2CgoK5PF4Wh6vra1t
de3evWPl9QbhM3f7qhQfd0Hnz9MBPl98RK0bLsxrW6TNK0XezMGct82Be+yxxyRJDQ0N2rVrl1av
Xq3KysqzBk6SDh8+rNmzZ2v69OmaMGGCli1b1vJYXV2dEhISWl27urq+rdtsVa3/WNDO1R6Vla2H
PNh8vviwrBsuzGtbpM0rRd7M7Z23tRi2+6c7YmJilJqaql//+te6+OKLz/rcI0eOKDMzU/Pnz9fE
iRMlSUlJSSopKZEkbdmyRampqe3dAgAArWpz4DZu3Kh//etfLbejo6N15MiRsx7z3HPPqaamRs8+
+6wyMjKUkZGh7OxsrVy5UlOmTFEgEGh5jw4AgGBq80uUGzdu1PLly/XVV1/piiuuUK9evfT555+f
9Zi8vDzl5eWdcv/atWvbv1MAANqhzYH75S9/qS+++EL79+9XfX29ampqdP3114dybwAAdFibA7d+
/XotW7ZMPp9PVVVVmjp1qm655ZZQ7g0AgA5r83twv/3tb7Vp0yZt2LBBb731lg4dOqQVK1aEcm8A
AHRYmwPn9XrVq1cvSVJ8fLwee+wxbdq0KWQbAwCgM9r1C083bNjQcptfdgoAOJe1+T24hx56SFlZ
WSosLFRSUpL27dunq666KpR7AwCgw9ocuD59+mjdunUqLi7WRx99pOHDh2vs2LGh3BsAAB3W5sDN
mzdPCxcu5BedAgDOC21+D+4f//iHfD5fy+3Kykrdf//9IdkUAACd1ebARUdHn3Db5/Np//79wd4P
AABB0ebAXXvttSd87q2pqUn19cH7ln8AAIKpze/B3XfffZozZ44mTpyo1NRUlZaW6pprrgnl3gAA
6LA2By42NlYvvviitm3bptLSUk2cOFHjxo0L5d4AAOiwNgfua9dffz1fsgwAOOe1+xeeAgBwPiBw
AACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJw
AACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJw
AACTuiRwO3fuVEZGhiRpz549uuGGG5SRkaGMjAy9+eabXbEFAECE8YZ6gRdeeEGvv/66evToIUkq
LS3VnXfeqczMzFAvDQCIYCG/ghs4cKBWrlzZcnv37t167733NGPGDOXm5srv94d6CwCACORxzrlQ
L3Lw4EHNmzdPRUVFeuWVV3T55ZcrJSVFq1atUk1NjXJycs56fGNjk7zeqE7vY2Px/k6fo6PGjhwc
trUBIBKF/CXKk40ZM0YJCQktf87Pz2/1mOrq+qCtX+s/FrRztUdlZW2Xr+nzxYdl3XBhXtsibV4p
8mZu77w+X/xZH+/yn6KcOXOmdu3aJUkqLi5WcnJyV28BABABuvwK7pFHHlF+fr6io6PVt2/fNl3B
AQDQXl0SuAEDBqioqEiSlJycrMLCwq5YFgAQwfigNwDAJAIHADCJwAEATCJwAACTCBwAwCQCBwAw
icABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJwAEATCJwAACTCBwAwCQCBwAw
icABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJO84d5ApHhvR3mnjh89vH+QdgIAkYErOACASQQO
AGASgQMAmETgAAAmETgAgEkEDgBgEoEDAJhE4AAAJvFB7/NERz4oHh93gWr9x/iQOICIxBUcAMAk
AgcAMInAAQBMInAAAJMIHADAJAIHADCpSwK3c+dOZWRkSJIOHDigadOmafr06Vq8eLGam5u7YgsA
gAgT8sC98MILysvL0/HjxyVJjz/+uLKzs/WHP/xBzjlt3rw51FsAAESgkAdu4MCBWrlyZcvt0tJS
jRgxQpKUlpambdu2hXoLAIAIFPJvMklPT9fBgwdbbjvn5PF4JEk9e/ZUbW1tq+fo3TtWXm9U5zez
r0rxcRd0/jznkfi4C+TzxYd7G10mkmaVmDcSRNrMwZy3y7+qq1u3/1401tXVKSEhodVjqqvrg7Z+
rf9Y0M51rvv6q7oqK1v/S4QFPl98xMwqMW8kiLSZ2ztvazHs8p+iTEpKUklJiSRpy5YtSk1N7eot
AAAiQJcHLicnRytXrtSUKVMUCASUnp7e1VsAAESALnmJcsCAASoqKpIkDRkyRGvXru2KZQEAEYwP
egMATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJ
wAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInAAQBMInAAAJMIHADAJAIHADCJ
wAEATCJwAACTCBwAwCQCBwAwicABAEwicAAAkwgcAMAkAgcAMInAAQBM8oZ7Awi993aUd/jY0cP7
B3EnANB1uIIDAJhE4AAAJhE4AIBJBA4AYBKBAwCYROAAACaF7WMCt99+u+Li4iRJAwYM0OOPPx6u
rQAADApL4I4fPy7nnNasWROO5QEAEcDjnHNdvejOnTv1s5/9TP3791djY6PmzZun4cOHn/H5jY1N
8nqjOr3uxuL9nT4H2mfsyMHh3gKACBWWK7gLLrhAM2fO1KRJk7R//37ddddd2rhxo7ze02+nuro+
aGvX+o8F7Vznuvi4C8I+b2VlbZet5fPFd+l64ca89kXazO2d1+eLP+vjYQnckCFDNGjQIHk8Hg0Z
MkS9evVSZWWl+vXrF47tAAAMCstPUa5fv15PPPGEJKmiokJ+v18+ny8cWwEAGBWWK7iJEydq4cKF
mjZtmjwej5YuXXrGlycBAOiIsFQlJiZGy5cvD8fSAIAIwQe9AQAmETgAgEkEDgBgEoEDAJhE4AAA
JhE4AIBJBA4AYBKBAwCYROAAACYROACASQQOAGASgQMAmETgAAAmETgAgEkEDgBgEoEDAJhE4AAA
JhE4AIBJBA4AYBKBAwCYROAAACYROACASQQOAGCSN9wbgG3v7Sjv8LGjh/cP4k4ARBqu4AAAJhE4
AIBJBA4AYBKBAwCYROAAACYROACASQQOAGASgQMAmMQHvQEA7XY+fIkDV3AAAJMIHADAJAIHADCJ
wAEATCJwAACTCBwAwKSwfEygublZjzzyiD7++GPFxMRoyZIlGjRoUDi2AgAwKixXcO+8844aGhq0
bt06PfDAA3riiSfCsQ0AgGFhCdz27dt1ww03SJKGDx+u3bt3h2MbAADDwvISpd/vV1xcXMvtqKgo
NTY2yus9/XZ8vvigrDs2SOfBuStY/66cL5jXvnN15kljrgjJeYM5b1iu4OLi4lRXV9dyu7m5+Yxx
AwCgI8ISuKuvvlpbtmyRJO3YsUPDhg0LxzYAAIZ5nHOuqxf9+qcoP/nkEznntHTpUl166aVdvQ0A
gGFhCRwAAKHGB70BACYROACASQQOAGCS+Z/Nt/a1YIFAQLm5uSovL1dDQ4OysrJ02WWXacGCBfJ4
PBo6dKgWL16sbt26qaioSIWFhfJ6vcrKytJ3v/tdHTt2TPPnz1dVVZV69uypgoIC9enTJ9xjtaqq
qko//OEP9eKLL8rr9Zqe9/nnn9ef//xnBQIBTZs2TSNGjDA7byAQ0IIFC1ReXq5u3bopPz/f9P++
O3fu1JNPPqk1a9bowIEDnZ5zx44deuyxxxQVFaVRo0Zpzpw54R7xBP877969e5Wfn6+oqCjFxMSo
oKBAffv2De28zrhNmza5nJwc55xzf//7390999wT5h11zvr1692SJUucc85VV1e7G2+80c2aNct9
8MEHzjnnFi1a5N566y33+eefu/Hjx7vjx4+7mpqalj+/+OKLbsWKFc455zZs2ODy8/PDNktbNTQ0
uHvvvdfdfPPNbt++fabn/eCDD9ysWbNcU1OT8/v9bsWKFabnffvtt93cuXOdc869//77bs6cOWbn
Xb16tRs/frybNGmSc84FZc5bb73VHThwwDU3N7uf/OQnrrS0NDzDncbJ886YMcPt2bPHOefcyy+/
7JYuXRryec2/RGnta8HGjh2r++67T5LknFNUVJRKS0s1YsQISVJaWpq2bdumXbt26aqrrlJMTIzi
4+M1cOBAffTRRyf880hLS1NxcXHYZmmrgoICTZ06VRdddJEkmZ73/fff17BhwzR79mzdc889Gj16
tOl5hwwZoqamJjU3N8vv98vr9Zqdd+DAgVq5cmXL7c7O6ff71dDQoIEDB8rj8WjUqFHatm1bWGY7
nZPnfeqpp3TllVdKkpqamtS9e/eQz2s+cGf6WrDzVc+ePRUXFye/36+5c+cqOztbzjl5PJ6Wx2tr
a+X3+xUfH3/CcX6//4T7v37uuezVV19Vnz59Wv5ll2R63urqau3evVvPPPOMHn30UT344IOm542N
jVV5ebm+//3va9GiRcrIyDA7b3p6+gnf2NTZOU/+b9u5Nv/J8379F9QPP/xQa9eu1R133BHyec2/
B2fxa8EOHz6s2bNna/r06ZowYYKWLVvW8lhdXZ0SEhJOmbuurk7x8fEn3P/1c89lr7zyijwej4qL
i7V3717l5OToiy++aHnc2ry9evVSYmKiYmJilJiYqO7du+vf//53y+PW5n3ppZc0atQoPfDAAzp8
+LB+/OMfKxAItDxubd7/1a3bf68vOjLn6Z57rs//5ptvatWqVVq9erX69OkT8nnNX8FZ+1qwI0eO
KDMzU/Pnz9fEiRMlSUlJSSopKZEkbdmyRampqfr2t7+t7du36/jx46qtrdWnn36qYcOG6eqrr9Zf
/vKXludec801YZulLX7/+99r7dq1WrNmja688koVFBQoLS3N7LzXXHON/vrXv8o5p4qKCh09elQj
R440O29CQkLL39S/8Y1vqLGx0fS/z/+rs3PGxcUpOjpan332mZxzev/995WamhrOkc7qj3/8Y8v/
l7/5zW9KUsjnNf9NJta+FmzJkiX605/+pMTExJb7HnroIS1ZskSBQECJiYlasmSJoqKiVFRUpHXr
1sk5p1mzZik9PV1Hjx5VTk6OKisrFR0dreXLl8vn84VxorbLyMjQI488om7dumnRokVm5/3FL36h
kpISOed0//33a8CAAWbnraurU25uriorKxUIBPSjH/1IKSkpZuc9ePCg5s2bp6KiIpWVlXV6zh07
dmjp0qVqamrSqFGjdP/994d7xBN8Pe/LL7+skSNHql+/fi1XXddee63mzp0b0nnNBw4AEJnMv0QJ
AIhMBA4AYBKBAwCYROAAACYROACASQQOAGASgQMAmETggCAJBAJavXp12I4HcCICBwTJRx99pHfe
eSdsx5+sublZ//s9Diffbu/xwPmGbzIBguDjjz/WzJkz5ZxT3759NW7cOE2ZMkXLly/XJ598ourq
aqWnp2vevHmS/vNrcVauXKnjx4/r6NGjmjBhggoLC084/u677z7tWl999dUZz7ts2TJVV1eroqJC
hw4d0o033qiampqW22+88YZqamq0ZMkS7du3T4FAQJmZmZo0adJpj3/jjTfO+y8nRwTr5O+0A/D/
Hn74YVdUVOScc665udllZma6rVu3OuecCwQC7vbbb3elpaWuubnZfec733FVVVUtj9XW1p5w/Jmc
7bzOOXfHHXe4mTNnuvr6+tPebm5udpMmTXKvvfaac865L774wo0YMcIdOXLktM8Hzmf81QwIktLS
Uk2ePFmStHXrVu3atUsFBQUtj9fW1qqpqUmS1Lt3b/385z/XuHHjlJaWpri4uBOOP5PWzrtnzx6t
W7dOPXr0OO3t4uJieb1e/eAHP2jZx4UXXqjq6mpdeOGFpzwfOJ8ROCAIAoGAysrKNHToUEn/Ccu0
adNaXjo82auvvqqSkhJt2LBBTz75pDZs2HDC8WdytvOWl5crNjZWgwcPPu1t6T/v8yUlJbXcrq2t
VVVVlQYOHHja5wPnM37IBAiCiooKxcfHKyYmRpJ0ySWXaOvWrTp69Kgkqb6+Xv/85z8lSZ9++qmi
oqI0atQo3XXXXaqvrz/l+DM523n37NmjlJSUlueefPvr4/ft26fm5mY1NjYqPz9fU6dOVUxMzGmf
D5zPuIIDguCSSy5RYmKixo8fr/T0dN17773avn27br31VsXGxqp79+564IEHlJiYqJdeekl/+9vf
FBsbqx49emjFihWnHP/Tn/70tOuMGzfujOctLS09IVAn35ak9PR0bd26VePHj5dzTunp6Zo7d+4Z
nw+cz/gpSgCASbxECQAwiZcogXNQVVWVMjMzT7l/zJgxmjNnThh2BJx/eIkSAGASL1ECAEwicAAA
kwgcAMAkAgcAMInAAQBMInAAAJMIHADApP8DgvYWkSCv1zEAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[17]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 找出极端离群值</span>
<span class="n">most_severe_test</span> <span class="o">=</span> <span class="n">test_error</span><span class="o">.</span><span class="n">idxmax</span><span class="p">()</span>
<span class="n">test</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">most_severe_test</span><span class="p">]</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt output_prompt">Out[17]:</div>



<div class="output_text output_subarea output_execute_result">
<pre>price                2612
mileage             59308
year                 2006
trim                   ex
engine              6 Cyl
transmission    Automatic
Name: 49, dtype: object</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>从分布图中可以看到，我们的模型对测试集上其中一个样本的预测表现非常差。该样本是一个极端的离群样本。该车是一个6缸高配版的车，并且其已行驶英里数只有~60,000英里左右，但是其卖出的价格才\$2612。</p>
<p>根据经验，我们猜测这个离群样本出现的两种可能：</p>
<ol>
<li>在网站里填写时出错；</li>
<li>该车辆有车体的损伤或者有汽车所有权问题（偷来的或者劫来的）</li>
</ol>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="8.-&#22312;&#27979;&#35797;&#38598;&#19978;&#20351;&#29992;LOF&#36827;&#34892;&#31163;&#32676;&#20540;&#26816;&#27979;">8. &#22312;&#27979;&#35797;&#38598;&#19978;&#20351;&#29992;LOF&#36827;&#34892;&#31163;&#32676;&#20540;&#26816;&#27979;<a class="anchor-link" href="#8.-&#22312;&#27979;&#35797;&#38598;&#19978;&#20351;&#29992;LOF&#36827;&#34892;&#31163;&#32676;&#20540;&#26816;&#27979;">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[18]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">test</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;accord_sedan_testing.csv&#39;</span><span class="p">)</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>
<span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">test</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">],</span> 
            <span class="n">test</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">],</span> 
            <span class="n">c</span><span class="o">=</span><span class="s1">&#39;#EE5150&#39;</span><span class="p">,</span>
            <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;^&#39;</span><span class="p">,</span>
            <span class="n">label</span><span class="o">=</span><span class="s1">&#39;testing set&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$mileage$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$price$&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span> <span class="o">=</span> <span class="s1">&#39;upper right&#39;</span><span class="p">,</span>
           <span class="n">frameon</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
           <span class="n">edgecolor</span><span class="o">=</span><span class="s1">&#39;k&#39;</span><span class="p">,</span>
           <span class="n">framealpha</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
           <span class="n">fontsize</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span>
<span class="n">sns</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="s1">&#39;dark&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0E3XeP/B3kibVJinQJSzq2ke72n0sbF1oZRet9ba7
1fXGslBpPEXXBXlYLlJBKjcrC4iVbWWFUwXEh/0V21rUY1dZfPAgtkCRZYvA0tJVCstVMdAqTaBN
mszvj9LQQjq5NMlMJu/XOR7pZDLz/WQm+cx35jufUQmCIICIiIg8UkvdACIiIjljoiQiIhLBRElE
RCSCiZKIiEgEEyUREZGIGKkbEG4WS6tf8w8YEIeWlvMhao38MF5lY7zKxngDZzIZe32NPUovYmI0
UjchrBivsjFeZWO8ocFESUREJIKJkoiISAQTJRERkYioG8xDRCSVc+e+h8XybciW39JiQHOzNWTL
lxt/4jWZBiE+vl9A62GPkogoDP7xj1345z93h3Qd0ZQkAf/i/ec/d+Mf/9gV0HrYoyQiCrGOjg6c
Pv01Hn54lNRNiVo//vHN+PDDD9DR0YGYGP9SH3uUREQhZrF8i//6rxukbkbUS0z8r4BOfTNREhGF
2PnzNuj1eqmbEfX0egPOn7f5/T4mSiIiigoqVWDvY6IkIiISwURJRBQpHPaQLDYvbwq+++67gN9f
WLgYjY0HAQAvv7wIu3cHNro0GGprt+PNN98I6jKZKImIIoHDDk3RUsDhCPqi+5rYOt8vAACef34B
brvt50FoVWAOHqzHuXPfB3WZvD0kGjjsgFYndSuIqA9UmzdBdaQJqk82QfjNI0Fb7ksvLQQATJ8+
CcuW/QVqtRrFxa/g9Olv4HR24L77fo3x459CR0cHli9fhv379yImRotrr70Oc+cWoLT0f3HmjAUL
F87H/Pl/wuuvv4bf/S4b//3fKXjmmckYOfIONDQcwLlz5/D003/Efff9Gm1tbVi27CXU1x+A0WjA
DTckAQDmzXuxR9uOHv0PXn75T2hvtwMQ8NBDozB69FgAwF//uhbV1Z/C5RJwzTXXYObM53H69GlU
Vb0Pl8sJvd6ASZOmBOUzCmuPct++fcjNzQUAHDx4ENnZ2cjJycGcOXPgcrkAAJWVlRg9ejSys7Ox
detWAEBbWxumTZsGs9mMiRMnorm5GQCwd+9ejB07FuPGjcPKlSvDGUrkCOFRKBGFicMO9T8/BwCo
d+8M6vd57twCAMBrr63CD384GIsWvYAHH3wEb721HqtX/xX//Oc/sGXLJ6iv/xe++KIOf/1rBd56
az2uvfY6NDV9hUmTpmDgQBMKChZjyJChPZZ96tRJjBgxEmvW/D9MnjwNJSWvAQDWrXsTTqcTZWXv
YvnyEnz55b89tq2s7P/h9tsz8dZb67Fs2V+wb98euFwubNr0EQ4fPoTVq/+KdevK8Itf3IGXX16E
IUOG4tFHR+Pee38VtCQJhLFHuWbNGvztb3/D1VdfDQBYuXIlpkyZgrvuugszZ87EZ599hp/+9Kco
LS3Fe++9h/b2dpjNZtxxxx0oLy9HcnIypk2bho0bN6KkpATz589HQUEBVqxYgeuvvx5PP/00Ghoa
kJKSEq6QIkKojkKJKHxUmzdBdepk579PnQzZ9/nChQvYu3cPzp07577Od+HCeRw69CVGjPgF1Go1
nn76CYwYMRJ3330vUlKGii4vJiYGI0feAQBITv5vnDt3DgCwc+cOTJuWB7VaDb3egAceeBBNTYeu
eH9m5j1YvLgABw/WIz19BGbMeA5qtRq1tdtx8GA9JkwYDwBwuZxoa2sL5kfRM46QLfkyiYmJWLFi
BWbPng0AuOWWW/Ddd99BEATYbDbExMRg//79GDZsGHQ6HXQ6HRITE9HY2Ii6ujpMmDABAJCZmYmS
khJYrVbY7XYkJiYCADIyMlBbW8tE2d1lR6HOXz0AaLUSN4qI/NLte9wlVN9nl8sJQRDwxhtv4aqr
rgIAfPfdd9DpdIiLi8O6deX417/2oa5uNwoK5mLMmMfw2GOP97o8rVYLtbrzxKVKpULXdUyNRgNB
EC7Fo/b8XMk77rgTFRXvY/fuXair243//d81eOONt+ByOfH440/gt78dAwCw2+1obT0XjI/Ao7Al
yqysLJw4ccL99w033IA//elPeP3112E0GvHzn/8cH3/8MYzGS0+Z1uv1sFqtsFqt7ul6vR6tra2w
Wq0wGAw95j1+/LjXdgwYEOf3wz7FnnwtZxc2bEBbt6NQQ+0WXD1mrNf3RWq8gWK8yiaHePtSrLx7
b9I9Lci9So1Gg46ODvTv3x9DhvwUFRXr8eSTE9Da2orJk5/C738/EXq9AeXlpVi+vAQ/+9lwAMCh
Q1/1eL+vbr89A3//+4dIS7sNdrsdn3zyMW68MemK+V58cR5SU3+G0aPH4u6778MXX9Th9OlvMGLE
SFRVvY9f//p+6PUGvPnmG/jyy0YsX17itS0JCQa/9wnJBvMsWbIEb7/9Nm6++Wa8/fbbePnll5GR
kQGb7VLVBJvNBqPRCIPB4J5us9kQHx/fY1r36d60tJz3q50mkxEWS6tf75EFhx2a6mp0v7/2wmfV
sN5+n+hRaMTGGyDGq2xyiTfgYuUOB9Q7t3l8SV1bE7ReZWbmPfjjH/+Al18uQkHBYrz66isYP/4x
OBwO/PKXWfj1rx+A0+nE55/XYvz4x3D11XEwGo3Iz58PALjzzrvxwgtz8PzzC3xaX27ukygufgXj
x4+DwWDAgAEJiI296or5nnxyAgoLF6Gq6n1oNGpkZt6NYcPS8LOfDceZMxZMmvR7ACr88IeD3QOB
0tNHYN685/Dqq1rk5c2+YpnNzVaP+4RY8pQsUfbr18/dIxw0aBD27NmD1NRULF++HO3t7bDb7Whq
akJycjKGDx+O6upqpKamoqamBmlpaTAYDNBqtTh27Biuv/56bN++HVOnTpUqHNkJx1EoEYWYWg3n
tJmirwfDokUv9/j7lVeWXzGPRqPBzJn5Ht8/deoMTJ06AwAwYsQv3NM/+eRSkr/mmmvdf2/bVo27
774Xc+a8AJfLhXnzZiMp6cdXLPeGG27E66+/dcV0lUqFP/xhEv7wh0lXvDZ0aCqqqv7PYzsDJVmi
XLx4MfLy8hATEwOtVotFixbBZDIhNzcXZrMZgiAgLy8PsbGxyMnJQX5+PnJycqDValFUVAQAWLhw
IWbNmgWn04mMjAzceuutUoUjL2E6CiWiENNogB9eI3Urgi4p6cdYtuwlrFpVgo4OB4YNS5f1k1VU
QvcrqlHA39Mwcjl14xenEzgjUiF/4KDOL6AHERlvHzBeZZNLvE1NndfyfvzjmyVuSXQT2w6yPPVK
IaTQo1Aior4QhMAKo7OEHRFRiPXrNwAWi0XqZkS9M2cs6NdvgN/vY4+SiCjEBg4ciF27duLzz2sx
cKAp4Mc9UWAEoTNJnj17Fr/4xUC/389ESUQUBg8++DDOnDmD779vCdk6EhICv18zEvkar0oF3HRT
ckBJEmCiJCIKm4EDB2LgwMB+rH0hl8FL4RKueHmNkoiISAQTJRERkQgmSiIiIhFMlERERCKYKImI
iEQwURIREYlgoiQiIhLBRElERCSCiZKIiEgEEyUREZEIJkoiIiIRTJREREQimCiJiIhEMFESERGJ
YKIkIiISwURJREQkgomSiIhIBBMlERGRCCZKIiIiEUyUREREIpgoiYiIRDBREhERiWCiJCIiEsFE
SUREJIKJkoiISAQTJRERkQgmSiIiIhFMlERERCKYKImIiEQwURIREYlgoiQiIhLBREm9c9ilbgER
keTCmij37duH3NxcAMDZs2cxefJkPP744xg3bhyOHTsGAKisrMTo0aORnZ2NrVu3AgDa2towbdo0
mM1mTJw4Ec3NzQCAvXv3YuzYsRg3bhxWrlwZzlCUz2GHpmgp4HBI3RIiIkmFLVGuWbMG8+fPR3t7
OwBg2bJlePjhh/H2229jxowZOHz4MCwWC0pLS1FRUYG1a9eiuLgYdrsd5eXlSE5ORllZGUaNGoWS
khIAQEFBAYqKilBeXo59+/ahoaEhXOEonmrzJqiONEH1ySapm0JEJKmwJcrExESsWLHC/feePXtw
+vRpPPnkk/jwww8xYsQI7N+/H8OGDYNOp4PRaERiYiIaGxtRV1eHO++8EwCQmZmJnTt3wmq1wm63
IzExESqVChkZGaitrQ1XOMrmsEP9z88BAOrdO9mrJKKoFhOuFWVlZeHEiRPuv0+ePIn4+HisW7cO
K1euxJo1a3DDDTfAaDS659Hr9bBarbBare7per0era2tsFqtMBgMPeY9fvy413YMGBCHmBiNX203
mYzeZ1IQw45P0XbqJABAdeokDLVbcPWYsRK3KnSibfsyXmVjvMEXtkR5uf79++Pee+8FANx77714
9dVXMXToUNhsNvc8NpsNRqMRBoPBPd1msyE+Pr7HtO7TvWlpOe9XO00mIyyWVr/eE8kG9ovFhepq
qLpNu/BZNay33wdotZK1K1SibfsyXmVjvH1bVm8kG/WalpaG6upqAMDu3btx0003ITU1FXV1dWhv
b0drayuampqQnJyM4cOHu+etqalBWloaDAYDtFotjh07BkEQsH37dqSnp0sVjmK0VVVBdbE32UV1
6iSvVRJR1JKsR5mfn4/58+ejoqICBoMBRUVF6NevH3Jzc2E2myEIAvLy8hAbG4ucnBzk5+cjJycH
Wq0WRUVFAICFCxdi1qxZcDqdyMjIwK233ipVOMrgcMC+9VOPL6lra+D81QOK7FUSEYlRCYIgSN2I
cPK3mx5VpzKcTiS4bGhutnl+feAgQOPf9V25i6rtC8ardIy3b8vqjWQ9SpIhjQaawdcB2uj5ohER
ecPKPERERCKYKImIiEQwURIREYlgoiRxLIxORFGOiZJ6x8LoRERMlNQ7FkYnImKipN6wMDoREQAm
SuqFavMmdyk7lrAjomjGRElX6tab7MJeJRFFKyZKukL33qR7GnuVnnFUMJHiMVFSD4LDAfXObR5f
U9fWsFfZHUcFE0UF1nqlntRqOKfNFH2dOnUfFSz85hGpm0NEIcJEST2oNBrgh9dI3YzgctgBrS7w
13t5T/dRwVHzCLJAPiuiCMfuASmbl9Ojgj2w06dROSqYp5opSjFRknTCMBDGW9GEtqoq/4sqROmo
YBagoGjFREnSCEfvxFvRBIcd9u3ben+9F1E5KpgFKCiKMVGSJMLRO/F4erRbL1a1eRNcx4/3fN2b
KB0VHJWnmoku4mAeCr9wDITxdHp0Vy2wbw+cs+YBEDyePvXalmgcFdzLqeaoGcBEUY+JksLOU+8k
2LdXeDw9+s2pzv9/sgkQhF5Pn4q2RYmjgr0QO9XM22IoGijw8JdkLRwDYUROjwKAetcOqGuj7/Rp
QKL0VDNRd+xRUliFpXfi4fSo6rMt0Hy6ufPf33wN531ZEO66FwkJejQ32654P10UjaeaiS7DREnh
46V3ErRrXpefHnXYoW6s77m+gwfg/G02NNcmANrWvq9TqaLwVDPR5ZgoKXwk6p2I3s7xxOMhWScR
KQcTJYWPFL0TL71YwZwd3vYQUcRhoiRl4zU2IuojJkpSNi+9WJVGE8bGEFEk4uF0oPjAXiKiqMBE
GQg+RYGIKGowUQaAT1EgIooeTJT+4lMUiIiiChOln/gUBSKi6MJE6Y8ofWAvEVE0Y6L0Q1Q+sJeI
KMoxUfqKT1EgIopKLDjgK1Z4ISKKSkyUvlLKUxQcdkCrk7oVwRGOWM7bgDh9aNcRSoF8Rr6+J9jz
UXSJoP0irN2gffv2ITc3t8e0Dz/8EI899pj778rKSowePRrZ2dnYunUrAKCtrQ3Tpk2D2WzGxIkT
0dzcDADYu3cvxo4di3HjxmHlypXhCyRShbJQQrgrFYWj6MN5GzTPzwDOnw/dOkIpkM/I1/cEez6K
LhG2X4QtUa5Zswbz589He3u7e1pDQwPeffddCIIAALBYLCgtLUVFRQXWrl2L4uJi2O12lJeXIzk5
GWVlZRg1ahRKSkoAAAUFBSgqKkJ5eTn27duHhoaGcIUTkUJWKEGCnT4cRR9Uq1ZA1d4O1aoVIVtH
KAXyGfn6nmDPR9El0vaLsJ16TUxMxIoVKzB79mwAQEtLC4qLizF37lwsWLAAALB//34MGzYMOp0O
Op0OiYmJaGxsRF1dHSZMmAAAyMzMRElJCaxWK+x2OxITEwEAGRkZqK2tRUpKimg7BgyIQ0yMf4Ww
TSajv+HKjmC349wX/4ALgHbPLsSbs6Hq5SHJ/sZ7YcMGtB1pgqF2C64eMzYIrRXnTyy+8BSvy2rF
94e+BABoDv0b/fQaqOPierRBpZPvaSOxz6i37evr5xrs+UJNCd9ff8g93nB8f4MtbIkyKysLJ06c
AAA4nU7MmzcPc+bMQWxsrHseq9UKo/FS0Hq9Hlartcd0vV6P1tZWWK1WGAyGHvMeP37caztaWvw7
jWYyGWGxtPr1HjlSbayC5uLn4zp+HGfLKiH85pEr5nPH68f1J011NVQALnxWDevt9wEh/jH0NRZf
9LZ9Va++DE1HR+cfHR1oXvwShLz8zr8v9qCdM+eGPNZA9fYZie3Pvn6uwZ4vlJTy/fVVJMQbju9v
oMvqjSRDNevr63H06FG8+OKLePbZZ3Ho0CEsWbIEBoMBNpvNPZ/NZoPRaOwx3WazIT4+3uO88fHx
YY8lIvhbKMGPU6lhr1QUjqIP521QX+xNutdx6N/ua5WyP20UyGfk63uCPR9FlwjdLyRJlKmpqdi4
cSNKS0tRXFyMm266CfPmzUNqairq6urQ3t6O1tZWNDU1ITk5GcOHD0d1dTUAoKamBmlpaTAYDNBq
tTh27BgEQcD27duRnp4uRTiy52+hBJ8TgQQ7fTiKPqhWrYCqqzfZNa2jo/NaZQTU+g3kM/L1PcGe
L2z4WDxZkN1+4SNZ3fxnMpmQm5sLs9mMJ554Anl5eYiNjUVOTg6++uor5OTk4J133sHUqVMBAAsX
LsSsWbMwZswYpKSk4NZbb5U4Ahnys1CCYPc9EYR9pw9H0Yfz56H+stHzOr48CNXGv8m71q+Xz0jw
9Bn5+rkGe75wibARloolt/3CDyqha8hplPD3fHYknPMX5XQCZ77t/fWBgzrvEb3I8NnHaCsvu/T2
R8d4vn7gcECzcA5UliuXLZgGwVmwNPjX7/yMxRdXbF+7HfjKc6JERwc071dC9c0p9yTh2uvgnPsn
+Vyr9PIZDbzlxzjTfNl1el8/12DPFwYmkxFn1q2H5m/v9b4vK4isf6/C8f3tA7FrlCw4oHT+FEpw
2GHf3vOIT717J5y/euDKRCBFpaJwFH3Q6YAhqR5fUm2s6pEkgUu9Stn8AHv5jFSefoh8/VyDPV8Y
XH6GxOO+TOEho/3CX7I69UrSUm3eBNdlI4d7Pb3YtdP39l+YegxhE8GnjaJZW1WVvE+VU0Rgj5I6
eUkEsj8SD3U5rGD2oCOodFdA5BKfP2dIiEQwUVKni4kgIUGP5mabx9dlKxz3NQbrtFEE3IPZJzKK
T+wMiWxOlVNEkPGvH4XVxUSgufa6iDuVKvv7GruJpLYGQjbx8VQ5BRF7lBTZHBE0WCOS2hoIOcUX
yWdISHa4t1BEC3tloD6IpLYGQlbxRfAZEpIfJkqKXJFUDktubQ12pRq5xUcUREyUFLEiqRyWrNoa
gko1soqPKMiYKCkyRdJgDZm1NegDbmQWH1GwcTAPRSYpKgMFSkZtDUmlGhnFRxQKTJQUmSKpHJaM
2uqpUk2f7ymUUXxEocBDPaJo0UulGp4aJRLHREny5OuoTCmeM+jvOmXyLESfa/k67D3b3PXv8x7u
R/RGJrGHVTTGrHBMlCQ/vo7KlOI5g/6u8/L5pfoR9flZknZoli2B5s8vdU7rav/330Pz/Azg/HmP
y/C8ziBsn0hLOnz2pSIxUZLs+DoqU4pyaf6us8f8Uv6IXhxwE79yJTr+VNjjP+e0me4BN6rNm6A6
egSq/xyG6pNNl9pfuBCq9naoVq3weZV93j4RmHRkU8KPgoqJkuTlsjJovf5I+jqfFG3rZX7Vpo+k
+xH1pVKNw94Z10XqXTvcf6vPnun8/6F/i/cqu3qAQdg+EZd0pNgnKSyYKElWfC2DJkW5NH/Xefn8
6potAOT7I6ravAmqry89mFr1zdfuv1Vd0zo6eu9VdusB9nn7RGDSkVUJPwoqJkqSD1/LoElRLs3f
dXqYX9Xa2vl/Of6IXtabFNNbr9LdA/z4wz5vn4hLOizhp2hMlCQbvpZBk6Jcmr/r9DR/d3L7Eb28
Nyk6r6deZfceYPWWvm2fCEw6LOGnbEyUJA8+j8qUoFyav+sUmb+LrH5EHY7OOPyg/vJgj15ljx7g
xZ7zFe/xcftEXNJhCT/FY2Uekgdfy6BJUS7N33V2n7+jA5qVxVA1n73ybbU18ngmpVoN55Q8oKW5
82+XC/j+O6j27oHmX3uvmN3589sh/Px2IObiz4eHHqAw6Idw/s/0S/N0W5coL0lHFp/X5VjCT/GY
KEkefC2DJkW5NH/X2X1+pxPOGbN7n1cOP6IaDXDtjzr/6+JwQP3xRx5nVx8+BGfuH9wJy2MP8NvT
UO37wv/yeJGYdFjCT/GYKIlCKVJ/RH1NWMHuAUbq50WKxkRJyuKwA1qd1K2IfN0TlthnGik9QO4X
1Acy2YuJgiACK7nInrfPtCuh9vafRhPe9nrC/YL6iImSFCPiKrlEACV8pkqIgaTFREnKEIGVXGRP
AZ/p5Q+qjsQYSHpMlKQIYavkEmlPs+iDiKuO44GnB1UT+YuJkiJfuCq5eLvWpaQkGoHVca7AB1VT
kDBRUsQLVyUX0WtdChswEnHVcTzw+UHVRF4wUVJkC1f5MC/X6xQ1YEQJJdmUEAPJBu+jpMgWpvv4
PF2vc1eduSyJyrLMmj8i5d5IMRdjSEjQo7nZ5vF1Il8xUVJkC0cll16u13UlRNEkGomUUB2n60HV
JiOg9VyknchXPKwi8kL0ep0SBr0QkSgmSiIxXq51qTZ9FPGDXsJKSSODKWrw1CuRGLHrdR0d0Lz+
F89v81YQ3Fvt0WDVJpVTjdOLI4OdM+dG9jXcQIVqW8hpGytUWBPlvn378Oc//xmlpaU4ePAgFi1a
BI1GA51Oh8LCQgwcOBCVlZWoqKhATEwMJk+ejHvuuQdtbW147rnncPbsWej1ehQWFiIhIQF79+7F
kiVLoNFokJGRgalTp4YzHIoGYtfrnM7ABr14Sxg+vO7TD6PMElP3kcERfQ03EKHaFjLbxkoVtlOv
a9aswfz589He3g4AWLJkCRYsWIDS0lL86le/wpo1a2CxWFBaWoqKigqsXbsWxcXFsNvtKC8vR3Jy
MsrKyjBq1CiUlJQAAAoKClBUVITy8nLs27cPDQ0N4QqHKOCC4N5uJQnW/ZqyumVFAeXw+iJU20JW
21jBwtajTExMxIoVKzB7dudDbIuLizFo0CAAgNPpRGxsLPbv349hw4ZBp9NBp9MhMTERjY2NqKur
w4QJEwAAmZmZKCkpgdVqhd1uR2JiIgAgIyMDtbW1SElJEW3HgAFxiInx74kGJpPR33AjGuMNHcFu
x7kv/gEXAO2eXYg3Z0PVrSfg7fULGzag7UgTDLVbcPWYsQGtR4rte2HDBrR1Gxnsrf3BJPX+7G2b
BnO5gPTxhls44g1boszKysKJEyfcf3clyT179mD9+vV4++23sW3bNhiNl4LW6/WwWq2wWq3u6Xq9
Hq2trbBarTAYDD3mPX5ZFQ5PWlrO+9Vuk8kIiyV6hpfLJt4wXXcJd7yqjVXQXNxPXceP42xZZY/T
kKKvO+zQVFdDBeDCZ9Ww3n5fr6fbeluOJNu3W7u7eGt/sMhhf/a2zYO53IFPPC55vOEUzO0rlnAl
HfX697//HQUFBVi9ejUSEhJgMBhgs126Odhms8FoNPaYbrPZEB8f73He+Pj4sMdAIaCwcnBu3m4l
8fK6z0XKZXbLihLK4QUsVNuil+UKSvvOyIRkibKqqgrr169HaWkprr/+egBAamoq6urq0N7ejtbW
VjQ1NSE5ORnDhw9HdXU1AKCmpgZpaWkwGAzQarU4duwYBEHA9u3bkZ6eLlU4FERKve7iLWEE635N
WSWmKC8lF6pt0dty26o+6NNyyTNJbg9xOp1YsmQJrrnmGkybNg0AcNttt2H69OnIzc2F2WyGIAjI
y8tDbGwscnJykJ+fj5ycHGi1WhQVFQEAFi5ciFmzZsHpdCIjIwO33nqrFOFQMCmtHFwXLwnDefcv
RV93dXT0+oPb4zSel/UIF69jhY0SyuEFyts2D3TfFlmu/dNPgTCc0o42KkEQBKkbEU7+ns+WwzWO
cJI6XtXGKmj+9p77b+ejY0J6K0HY4nU6gTPf9v76gB8ALWc9v3bxfk2V5cr3C6ZBcBYsvfTD6GU9
A2/5Mc40+3edPpJJuj972+YDB/U6MjrQ5SYk6NGs1ge23AgUrmuULDhA8uGlpmpE86V+ajDu1/Sy
HlWU/IDKQqhq5oosV2MyAlF0YB8uTJQkG2LXc6LuBvXulFCknCiCKfgCAUWUKB/0EbBQ1k5lXVYi
AOxRklxE86CPQIWyfBlLoxG58deH5CHAcnDRLJS30Sj1Fh2iQDBREkWiUNZOjfK6rESXY6IkklKA
1wF9rtIjs2UTRSImSiKpBFqqL5Ql6mRW/o5IDpgoiULFS28x0OuAoSxRF7JlcwQtRTAmSqJQ8NZb
DPQ6YChvownVspVa5J6iBm8PIQqB7r1FT8USPF0H9KmoQihvownRsr19FkRyx0RJFGzeCrv3pVRf
KKv0hGLZSi1yT1GFp16JgszbqFFZPQYrxDiClpSAiZIomLw+nDmCSvWJDcDxZXCOlCNoL7ZPsEfx
ICJ/BlBxsJUoJkqiIPLaW7x4HbDjT4VX/OecNlM+pfrEBuD4ODhHsp5zV/vOn0frggXyOvgIFx8G
k/k8LzFRUoSR85GvL73FCCnVJ3brik+3tUjYc3a3b9VrcH71ZWgSczD2wxDuy6Lb6LLEyHKF3nEw
D8mDww7QGbPdAAAgAElEQVRodV7nkXWhbqUUdhcbgOPr4BypPovu7Tv0Zef/gz2IKBj7YYgL2ott
ox6jkH91Pwdb+SBCvrmkaP6cypPzkW+E9Ba9ERuA4/PgHIk+ix7t6+jw3s5A19HH/TDkBe1720aX
JVHVpo842MoHTJQkOd9O5bFQd1iIDcCRe3k7D+3rEooSfwEvs7dlBOFUrGAX30aXJ1F1zZZe56VL
mChJWj7+8PA2g/AQG4Aj99taPLXP/VoISvwFukyPywjSgJq2qqret5GHAwlVa6vneakHJkqSlE8/
PHLvySiF2ACcHTWdg3A8vSaH21pE2t6l7yX+grAf9rIM1aaP+n4q1uGAfeunHl9S19b0OM0qRhbb
U2b8GszT2NgIp9OJIUOGhKo9FE18rFAj1pNhSbQgEhuA43QBEHq/tij1QKWutjudQEuze3K/flfj
++8vAAN+AGjUfWpnMPbD3pahbj3XGUZfBtSo1TDMn4/mZtuVrzk6oHl9uce3CQMS4Jw6E9B2SwdS
b0+Z8TlRvvrqq9i+fTu+++47bNmyBUeOHMGZM2dw2223hbJ9pGA+/fB4uc2Ao/SCKJTl8UKte9uv
/ZF7ss5kBCytvbzJD8HYD0WW0XUK1OfE62mUuEYDzeDrAK2HeJ1OOKfP6n15AwdFzGAzKficKDdv
3oyPPvoIv/vd7wAAgwcPxpw5c1BRURGyxpGC+frDo5RbLsLNl9ttyHfB2A89LcPhgGbVa1B9++2l
2bz1KgO5tSSSD4JkwOdE2b9/f2i6HXFcffXVaG9vD0mjKAr4+sPDL7j/5H6/qdz10lvr837oYRmq
jVU9kiTgvVcZ8qex8CDrCj4fjt98883YuXMnVCoVAKCtrQ3nz58PWcNI4RRyz6Ecyf5+UzkLZzm3
QKoXhfo2KZaz88jnHuWsWbOQl5eHkydP4tVXX0VtbS1uv/32ULaNiPzFx1r1SVifnRnA6dyAn2Pq
Iz471DOfe5Tx8fFYu3YtXn31VRgMBowfPx4LFiwIZduIyE+837QPwl3Uwt+zKqG+TYpFPXrlc6J8
9tlnYbFYcMcdd2DixIl4+OGHoeZACiL54P2mfSL3g4xQF3yQe/xS8jnTffXVVzCZTO6/LRYL8vLy
QtIoIvKf3CvnyJrcDzJC/TQWuccvMZ+vUWovu85hMpnwn//8J9jtIaJA8H7TPpF9UYsQ3yYl+/gl
5nOivO222/Daa69h+vTpAACn08lRr0RywftNAxcJBxmhvE0qEuKXmM+J8plnnsHUqVMxZswYpKen
o76+HmlpaaFsGxH5ivebBi7aDzKiPX4f+Jwo4+Li8NZbb2HHjh1oaGjAmDFj8OCDD4aybUREoRft
BxnRHr8PvCbKp59+GqtXr8a6deuQkpKCW2+9FXfccUc42kZERCQ5r4ny5ZdfBgCcPn0aNTU1OHjw
IIxGI1JSUpCSkoKnn3465I0kootYXowo7LwmyoSEBAiCgJqaGmzcuBEAcOrUKTQ0NKC+vj7kDaQI
JucfdSnbFui6xWq4Sv1Z93X9UrW/a73hXr/U24v84tNVWpVKhcGDB8NutwMArr32Wvzyl7/EM888
49fK9u3bh9zcXADA0aNHkZOTA7PZjIKCArhcLgBAZWUlRo8ejezsbGzduhVAZ13ZadOmwWw2Y+LE
iWhu7nze3N69ezF27FiMGzcOK1eu9KstFGJyrhkpZdv6sO5ea7hK/Vn3df3+vN9hD2wdYus9bwvv
5yf19iK/+TycafDgwZg6dSqOHz8e0IrWrFmD+fPnu584snTpUsyYMQNlZWUQBAFbtmyBxWJBaWkp
KioqsHbtWhQXF8Nut6O8vBzJyckoKyvDqFGjUFJSAgAoKChAUVERysvLsW/fPjQ0NATUNgo+ORfm
lrJtAa9bpLyY1J91X9fv8/uDnGDc6121Mqyfn9Tbi/zn86jXAQMG4Ouvv8bYsWMRFxeHoUOHYujQ
oT5fo0xMTMSKFSswe/ZsAEB9fT1GjBgBAMjMzMSOHTugVqsxbNgw6HQ66HQ6JCYmorGxEXV1dZgw
YYJ73pKSElitVtjtdiQmJgIAMjIyUFtbi5SUFC9xxCEmxr8nU5hMRr/mj3R9jVew23Hui3/ABUC7
ZxfizdlQyeQ+rMvbJpizw7Z9+/K5XNiwAW3dyosZarfg6jFjA1pmMOPt67b25/0XNmxA25Emd+y+
8hRv9/VqDv0bCLD9/grHd4O/V8Hn19NDugRyjTIrKwsnTpxw/y0IgvuRXXq9Hq2trbBarTAaLwWt
1+thtVp7TO8+r8Fg6DGvL73dlhb/iiSYTEZYgvGE9AgRjHhVG6ugubgtXMeP42xZpWyqe1zetraq
D2C9635J1u3z5+KwQ1NdDVW3SRc+q4b19vug2vx3v5YZ7P25r9va5/d3+wy6YvflJvje4u2+XnR0
BNx+f4X6u8Hfq74tqzc+n3q12+344IMPsG7dOpw6dSqga5Q9VtztJlabzYb4+HgYDAbYbLYe041G
Y4/pYvPGx8cH3B4KEjnXjPTQNvu2bWF69mDgn0uv5cU+/lDaz7qv29qP9we1YLeH9Xpbf1DI+btB
onxOlFOnTsWGDRvwn//8By+99BKeeOIJnDt3LuAVp6SkYNeuXQCAmpoapKenIzU1FXV1dWhvb0dr
ayuampqQnJyM4cOHo7q62j1vWloaDAYDtFotjh07BkEQsH37dqSnpwfcHgoOORfm9tQ21/HjYWlb
wJ+LWHmxTz+R9LPu67b2+f1BTjCe1iu6/iCR83eDxPl86vXo0aP4+OOP3adL33nnHSxcuBBFRUUB
rTg/Px8LFixAcXExkpKSkJWVBY1Gg9zcXJjNZgiCgLy8PMTGxiInJwf5+fnIycmBVqt1r3PhwoWY
NWsWnE4nMjIycOuttwbUFgoSOdeMlLJtfVl3b+XFHB3QrCwCztuufEs4Puu+fp5+vD+oBbtF1utX
+/0l5+8GeaUSBEHwZcacnBysW7cOsbGx7mkPPfQQPvroo5A1LhT8PZ/Nc/5+cDqBM9/2/vrAQVc+
jDZcemlbQoIezc220LYtFJ9LgMsM2v7c15i6vV/12RZoPt0M531ZEO66t+f7HQ5oFs6BynLlugTT
IDgLloommCvi7Vqv0wW0nL3yDQMSOtcb7P0hTN8N/l71bVm98blHaTAYMHnyZCxYsAA33ngjTp06
hbi4uKA0kBRCzjUje2mbxmQEtCH+YQnF5yL1Z93X9Xe932GHurFzUKD64AE4f5vdM/EFu2B393Zf
e52fje4DqbcX9YnPiTIlJQUHDhxATk4OHA4H2tvbMWbMGOzatQtDhgzpMQKViMgXngbp9DidygRD
MuBzoszLy3P/++TJkzhw4ADq6+uxatUqHDx4EDt37gxJA4lIoXoZpMPrdSQ3PifK7q677jpcd911
yMrKCnZ7iChKBHWQDlEI8YmcRBR+XkaB8t5CkpOAepRERH0S7EE6RCHERElE4cdBOhRBeNhGREQk
gomSiIhIBBMlERGRCCZKIiIiEUyUREREIpgoiYiIRDBRElHfOexSt4CUQKb7ERMlEfWNww5N0VJW
0+krmSaJsJHxfsRESUR9otq8CaojTVB9sknqpvRO7klIxkkiXALej8KwbZkoiShw3Z4Aot69U54/
9BGQhCLiYCOUAtyPBHt4ti0TJREFzNPzJOVG9kkoEg42QizQ/aitqios25aJkogC08vzJOX0Qy/Y
5Z+EIuFgI6QC3Y8cdti3b/N9/j5goiSigIg9T1Iu2qqq5J2EIuBgI9QC3Y9UmzfBdfy4z/P3BRMl
EfkvEp4n2a3H0UVuSSgSDjZCKtD9KMwHGHzMFhH5LwKeJ9m9x+GedjEJCb95RKJWdeMlSTh/9QCg
1Ya5UWEW4H4kdoARim3LRElE/pP78yQjIQlFwMEGHHZAqwvd8gPZjyTYtkyURKQ8F5NQQoIezc02
j69LTvYHG523XjhnzpX+oKK7bgcYHrdvCLYtEyURKc/FJKQxGQFtq9StiUjdb6sJyunMYPVOux1g
hGv7yuCwioiIZCXY93ZGQNEHMUyURETUQ7Dv7ZR90QcvmCiJiOiSYN96oYDKQ0yURETkFux7O5VQ
eYiJkoiIOgW7kIRCKg9x1CsREXUK8r2d4S4MECpMlERE1CmY93ZGQtEHHzFREhFR8EVC5SEfMVES
EVHwyb3ykB8iJ6UTERFJgImSiMLPYZe6BRRMCt+eTJREFF4RXs6MLhOK7SmzxCtponQ4HJg5cybG
jRsHs9mMpqYmHD16FDk5OTCbzSgoKIDL5QIAVFZWYvTo0cjOzsbWrVsBAG1tbZg2bRrMZjMmTpyI
5uZmKcMhIh9Eejkz6ino21OGB1KSJsrq6mp0dHSgoqICU6ZMwfLly7F06VLMmDEDZWVlEAQBW7Zs
gcViQWlpKSoqKrB27VoUFxfDbrejvLwcycnJKCsrw6hRo1BSUiJlOETkjQLKmVE3IdiecjyQknTU
64033gin0wmXywWr1YqYmBjs3bsXI0aMAABkZmZix44dUKvVGDZsGHQ6HXQ6HRITE9HY2Ii6ujpM
mDDBPa8viXLAgDjExGj8aqfJZPQ/uAjGeJVNyngvbNiAtm7lzAy1W3D1mLEhXSe3b+gEe3sKdjvO
ffEPuABo9+xCvDkbKi/3WoYjXkkTZVxcHE6ePIkHHngALS0teOONN7B7926oVCoAgF6vR2trK6xW
K4zGSx+GXq+H1WrtMb1rXm9aWs771UaTyQiLJXqeZ8d4lU3SeB12aKqroeo26cJn1bDefl/Ibjzn
9g2hEGxP1cYqaI4fBwC4jh/H2bJK0Qo+wYxXLOFKeup13bp1yMjIwP/93/+hqqoKzz//PBzduu42
mw3x8fEwGAyw2Ww9phuNxh7Tu+YlInkKdrFtklbQt6eM68JKmijj4+PdPcJ+/fqho6MDKSkp2LVr
FwCgpqYG6enpSE1NRV1dHdrb29Ha2oqmpiYkJydj+PDhqK6uds+blpYmWSxEJCLYxbZJWiHYnnI+
kFIJgiBItXKbzYa5c+fCYrHA4XBg/PjxGDp0KBYsWACHw4GkpCQsXrwYGo0GlZWVeOeddyAIAiZN
moSsrCxcuHAB+fn5sFgs0Gq1KCoqgslkEl2nv910nrpRNsYbJk4ncObb3l8fOKizkkuQcfuGSLC3
p8MBzcI5UFmuXKZgGgRnwVKPp3PDdepV0kQpBSZKcYxX2RivskVsvAEm3nAlStZ6JSIiacm8Liwr
8xAREYlgoiQiigYyKwsXSZgoiYiUToZl4SIJEyURkcLJsSxcJGGiJCJSMtbX7TMmSiIiBet+I79c
buCPNEyURERKJeOycJGEiZKISKHkXBYukjBREhEpEevrBg0r8xARKZFaDee0maKvk2+YKImIlEjm
ZeEiCQ8piIiIRDBREhERiWCiJCIiEsFESUREJIKJkoiISAQTJRERkQgmSiIiIhFMlERERCKYKImI
iEQwURIREYlgoiQiIhLBRElERCSCiZKIiEgEEyUREZEIJkoiIiIRTJREREQimCiJiIhEMFESERGJ
YKIkIiISwURJREQkgomSiIhIBBMlERGRCCZKIiIiEUyUREREIpgoiYiIRMRI3YBVq1bh008/hcPh
QE5ODkaMGIHnn38eKpUKN998MwoKCqBWq1FZWYmKigrExMRg8uTJuOeee9DW1obnnnsOZ8+ehV6v
R2FhIRISEqQOiYiIFETSHuWuXbvwxRdfoLy8HKWlpfjmm2+wdOlSzJgxA2VlZRAEAVu2bIHFYkFp
aSkqKiqwdu1aFBcXw263o7y8HMnJySgrK8OoUaNQUlIiZThERKRAkvYot2/fjuTkZEyZMgVWqxWz
Z89GZWUlRowYAQDIzMzEjh07oFarMWzYMOh0Ouh0OiQmJqKxsRF1dXWYMGGCe15fEuWAAXGIidH4
1U6Tyeh/cBGM8Sob41U2xht8kibKlpYWnDp1Cm+88QZOnDiByZMnQxAEqFQqAIBer0drayusViuM
xksfhl6vh9Vq7TG9a17v6zzvVxtNJiMsFu/LVQrGq2yMV9kYb9+W1RtJE2X//v2RlJQEnU6HpKQk
xMbG4ptvvnG/brPZEB8fD4PBAJvN1mO60WjsMb1rXiIiomCS9BplWloatm3bBkEQcPr0aVy4cAEj
R47Erl27AAA1NTVIT09Hamoq6urq0N7ejtbWVjQ1NSE5ORnDhw9HdXW1e960tDQpwyEiIgWStEd5
zz33YPfu3RgzZgwEQcALL7yAH/3oR1iwYAGKi4uRlJSErKwsaDQa5Obmwmw2QxAE5OXlITY2Fjk5
OcjPz0dOTg60Wi2KioqkDIeIiBRIJQiCIHUjwsnf89k8569sjFfZGK+yhesaJQsOEBERiWCiJCIi
EsFESUREJIKJkoiISAQTJRERkQgmSiIiIhFMlERERCKYKImIiEQwURIREYlgoiQiIhLBRElERCSC
iZKIiEgEEyUREZEIJkoiIiIRTJREREQimCiJiIhEMFESERGJYKIkIiISwURJREQkgomSiIhIBBMl
ERGRCCZKIiIiEUyUREREIpgoiYiIRDBREhERiWCiJCIiEsFESUREJIKJkoiISAQTJRERkQgmSiIi
IhFMlERERCKYKImIiEQwURIREYlgoiQiIhLBRElERCSCiZKIiEgEEyUREZEIWSTKs2fP4q677kJT
UxOOHj2KnJwcmM1mFBQUwOVyAQAqKysxevRoZGdnY+vWrQCAtrY2TJs2DWazGRMnTkRzc7OUYRAR
kQJJnigdDgdeeOEFXHXVVQCApUuXYsaMGSgrK4MgCNiyZQssFgtKS0tRUVGBtWvXori4GHa7HeXl
5UhOTkZZWRlGjRqFkpISiaMhIiKliZG6AYWFhRg3bhxWr14NAKivr8eIESMAAJmZmdixYwfUajWG
DRsGnU4HnU6HxMRENDY2oq6uDhMmTHDP60uiHDAgDjExGr/aaDIZ/YwqsjFeZWO8ysZ4g0/SRPn+
++8jISEBd955pztRCoIAlUoFANDr9WhtbYXVaoXReOnD0Ov1sFqtPaZ3zetNS8t5v9poMhlhsXhf
rlIwXmVjvMrGePu2rN5Imijfe+89qFQq7Ny5EwcPHkR+fn6P64w2mw3x8fEwGAyw2Ww9phuNxh7T
u+YlIiIKJkmvUb799ttYv349SktLccstt6CwsBCZmZnYtWsXAKCmpgbp6elITU1FXV0d2tvb0dra
iqamJiQnJ2P48OGorq52z5uWliZlOEREpECSX6O8XH5+PhYsWIDi4mIkJSUhKysLGo0Gubm5MJvN
EAQBeXl5iI2NRU5ODvLz85GTkwOtVouioiKpm09ERAqjEgRBkLoR4eTv+Wye81c2xqtsjFfZwnWN
UvLbQ4iIiOSMiZKIiEgEEyUREZEIJkoiIiIRTJREREQimCiJiIhEMFESERGJYKIkIiISwURJREQk
gomSiIhIBBMlERGRCCZKIiIiEUyUREREIpgoiYiIRDBREhERiWCiJCIiEsFESUREJIKJkoiISAQT
JRERkQgmSiIiIhFMlERERCKYKImIiEQwUVJ0ctilbgERRQgmSoo+Djs0RUsBh0PqlhBRBGCipKij
2rwJqiNNUH2ySeqmEFEEYKKk6OKwQ/3PzwEA6t07IbBXSUReMFFSVFFt3gTVqZOd/z51Em1VH0jc
IiKSOyZKih7depNd7Nu28VolEYlioqSo0b032cV1/DivVRKRKCZKig4OB9Q7t3l8SV1bw14lEfUq
RuoGEIWFWg3ntJlXTE5I0KO52QaoecxIRJ4xUVJ00GiAH15z5WSTEdC2StAgIooUPIwmIiISwURJ
REQkgomSiIhIBBMlERGRCCZKIiIiEZKOenU4HJg7dy5OnjwJu92OyZMn46abbsLzzz8PlUqFm2++
GQUFBVCr1aisrERFRQViYmIwefJk3HPPPWhra8Nzzz2Hs2fPQq/Xo7CwEAkJCVKGRERECiNpj/Jv
f/sb+vfvj7KyMrz55ptYtGgRli5dihkzZqCsrAyCIGDLli2wWCwoLS1FRUUF1q5di+LiYtjtdpSX
lyM5ORllZWUYNWoUSkpKpAyHiIgUSNIe5f3334+srCwAgCAI0Gg0qK+vx4gRIwAAmZmZ2LFjB9Rq
NYYNGwadTgedTofExEQ0Njairq4OEyZMcM/rS6IcMCAOMTEav9ppMhn9jCyyMV5lY7zKxniDT9JE
qdfrAQBWqxXTp0/HjBkzUFhYCJVK5X69tbUVVqsVRqOxx/usVmuP6V3zetPSct6vNppMRlgs0XND
OuNVNsarbIy3b8vqjeSDeb7++muMHz8ejz76KB5++GGou5USs9lsiI+Ph8FggM1m6zHdaDT2mN41
LxERUTBJmijPnDmDp556Cs899xzGjBkDAEhJScGuXbsAADU1NUhPT0dqairq6urQ3t6O1tZWNDU1
ITk5GcOHD0d1dbV73rS0NMliISIiZVIJgiBItfLFixdj06ZNSEpKck+bN28eFi9eDIfDgaSkJCxe
vBgajQaVlZV45513IAgCJk2ahKysLFy4cAH5+fmwWCzQarUoKiqCyWSSKhwiIlIgSRMlERGR3El+
jZKIiEjOmCiJiIhEMFESERGJYKIkIiISwURJREQkgomSiIhIRNQkSofDgeeeew5msxljxozBli1b
cPToUeTk5MBsNqOgoAAulwsAUFlZidGjRyM7Oxtbt24FALS1tWHatGkwm82YOHEimpubAQB79+7F
2LFjMW7cOKxcuVKy+Hpz9uxZ3HXXXWhqalJ8vKtWrcJjjz2G0aNHY8OGDYqO1+FwYObMmRg3bhzM
ZrOit+++ffuQm5sLACGNceXKlRgzZgzGjRuH/fv3hznKS7rHe/DgQZjNZuTm5uIPf/gDzpw5A0C5
8Xb58MMP8dhjj7n/ljxeIUq8++67wuLFiwVBEISWlhbhrrvuEiZNmiR8/vnngiAIwoIFC4TNmzcL
3377rfDQQw8J7e3twrlz59z/fuutt4TXXntNEARB+Oijj4RFixYJgiAIjzzyiHD06FHB5XIJEyZM
EOrr66UJ0AO73S788Y9/FH79618Lhw4dUnS8n3/+uTBp0iTB6XQKVqtVeO211xQd7yeffCJMnz5d
EARB2L59uzB16lRFxrt69WrhoYceEsaOHSsIghCyGA8cOCDk5uYKLpdLOHnypDB69GhZxPv4448L
DQ0NgiAIQnl5ufDSSy8pOl5BEIT6+nph/Pjx7mlyiDdqepT3338/nnnmGQC9P6mktrYW+/fvdz+p
xGg09nhSyZ133umed+fOnbBarbDb7UhMTIRKpUJGRgZqa2sli/FyhYWFGDduHAYNGgQAio53+/bt
SE5OxpQpU/A///M/uPvuuxUd74033gin0wmXywWr1YqYmBhFxpuYmIgVK1a4/w5VjHV1dcjIyIBK
pcK1114Lp9Pp7qFIGW9xcTFuueUWAIDT6URsbKyi421paUFxcTHmzp3rniaHeKMmUer1ehgMhh5P
KhEEoU9PKrFarTAYDD3m9eUJJuHw/vvvIyEhwb0jAVB0vC0tLThw4AD+8pe/YOHChZg1a5ai442L
i8PJkyfxwAMPYMGCBcjNzVVkvFlZWYiJufSQo1DFKJfYL4+36yB3z549WL9+PZ588knFxut0OjFv
3jzMmTPH/WQpALKIV9LHbIXb119/jSlTpsBsNuPhhx/GsmXL3K8F8qQST/PK5Qkm7733HlQqFXbu
3ImDBw8iPz+/xxGU0uLt378/kpKSoNPpkJSUhNjYWHzzzTfu15UW77p165CRkYGZM2fi66+/xhNP
PAGHw+F+XWnxdunr04V6i1Gr1Xpchhz8/e9/x+uvv47Vq1cjISFBsfHW19fj6NGjePHFF9He3o5D
hw5hyZIl+MUvfiF5vFHTowzFk0oMBgO0Wi2OHTsGQRCwfft2pKenSxZjd2+//TbWr1+P0tJS3HLL
LSgsLERmZqZi401LS8O2bdsgCAJOnz6NCxcuYOTIkYqNNz4+3v1F79evHzo6OhS9P3cJVYzDhw/H
9u3b4XK5cOrUKbhcLiQkJEgZKgCgqqrK/T2+/vrrAUCx8aampmLjxo0oLS1FcXExbrrpJsybN08W
8UZNUfRQPalk7969eOmll+B0OpGRkYG8vDwJo/QsNzcXL774ItRqNRYsWKDYeF955RXs2rULgiAg
Ly8PP/rRjxQbr81mw9y5c2GxWOBwODB+/HgMHTpUkfGeOHECzz77LCorK3HkyJGQxbhixQrU1NTA
5XJhzpw5kh0kdMVbXl6OkSNH4pprrnH37G+77TZMnz5dkfFWVlb2Ok3qeKMmURIREQUiak69EhER
BYKJkoiISAQTJRERkQgmSiIiIhFMlERERCKYKImIiEQwURIREYlgoiRSmObmZkyYMAFA52PWutf7
JSL/MVESKUxCQgLefPNNAMCBAwcwZMgQiVtEFNmiqig6USRbtmwZvv32W7S0tKCpqQkjR47Eo48+
itdffx2HDx9GdnY2pk6dimXLluEHP/gBnnrqKfzrX//C0KFDAQDff/89ioqK8OWXX6KlpQVZWVl4
9tlnAXQ+7LawsBBtbW2w2Wx44okn8PjjjwPo7JUuXLgQR44cwcCBA3HDDTfguuuuw4QJE0SXSaQY
fj29kogk8+STTwrTp08X2tvbhdbWVuGnP/2p8MorrwhOp1M4duyYcNttt7nn27lzpyAInQ86/uyz
zwSXyyU89dRTwo4dOwRBEASHwyH89re/dT+Y+bvvvhMcDocgCIJw7tw5IT09XRAEQXC5XEJ2drZQ
WVkpCIIgHDlyRPjJT34i7Ny50+syiZSCPUqiCNHQ0IAPPvgAOp0OLpcLGo0GU6ZMcT96ql+/fgCA
gwcPIiUlBUDno4uGDh2KHTt2YP/+/SgsLHQvr7W1FU6nEwDw2WefYcOGDTh37hxcLpd7mbW1tRAE
AXh7fi4AAAG0SURBVGPHjgUA3HDDDbj66qt9WiaRUjBREkWAkydPQq/X45prrgEANDY24ic/+Qni
4uIAdCbRlJQUnDx5EgaDAfHx8Th9+jQ0Gg1+8IMfoKGhATk5OR5Pi27duhXl5eVYsWIFTCYTNm3a
hHfeeQfApUTb5fDhwxg0aBAMBoPoMomUhIN5iCJAQ0NDj4R1eQJraGjAkCFD3AkT6BzI0zXP4MGD
sWPHDly4cAEAcP78eRw+fLjHskwmE06fPo3ly5e735eQkIDDhw/D5XKhra0NS5Ys8WmZRErCHiVR
BKivr+8xevXAgQP4+c9/3uP13//+99i9e7d7vu6J8sEHH0RdXR0eeeQRxMXFITY2FjNnzkRSUhIe
ffRR/PGPf8QjjzyCm266CYMHD3Yv4ze/+Q02bdqE+++/H4mJiYiLi8PIkSO9LpNISfg8SiLqldVq
hcFgANB57XP27NkoKyuD0WiUuGVE4cMeJRH16p133sG7776Lq666Cv3798eyZcuYJCnqsEdJREQk
goN5iIiIRDBREhERiWCiJCIiEsFESUREJIKJkoiISAQTJRERkQgmSiIiIhH/HzWxiy/MGO6CAAAA
AElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#21487;&#36798;&#23494;&#24230;&#35745;&#31639;&#20844;&#24335;">&#21487;&#36798;&#23494;&#24230;&#35745;&#31639;&#20844;&#24335;<a class="anchor-link" href="#&#21487;&#36798;&#23494;&#24230;&#35745;&#31639;&#20844;&#24335;">&#182;</a></h3>$$lrd_k(x) = \left( \frac{1}{k} \sum_{y \in N_k(x)} rd_k(x, y)  \right)^{-1}$$<p>其中 $rd_k(x, y)$ 样本点$x$到样本点$y$的第$k$可达距离</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="LOF&#22240;&#23376;&#35745;&#31639;&#20844;&#24335;">LOF&#22240;&#23376;&#35745;&#31639;&#20844;&#24335;<a class="anchor-link" href="#LOF&#22240;&#23376;&#35745;&#31639;&#20844;&#24335;">&#182;</a></h3>$$lof_{k}(x) = \frac{1}{k}  \sum_{y \in N_k(x)}  \frac{lrd_k(y)}{lrd_k(x)}$$
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>LOF算法的一般流程可以描述为：</p>
<ol>
<li><p>初始化$k$，用于后续计算第$k$距离；</p>
</li>
<li><p>计算每个样本点与其他点的距离，并对其排序；</p>
</li>
<li><p>计算每个样本点的第$k$距离，第$k$领域；</p>
</li>
<li><p>计算每个样本点的可达密度以及LOF值；</p>
</li>
<li><p>对所有样本点的LOF值进行排序，与1作比较，越大于1，越可能是离群值。</p>
</li>
</ol>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[19]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">data</span> <span class="o">=</span> <span class="n">test</span><span class="p">[[</span><span class="s1">&#39;mileage&#39;</span><span class="p">,</span><span class="s1">&#39;price&#39;</span><span class="p">]]</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[20]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 导入sklearn用于计算最近邻相关数据的方法 NearestNeighbors</span>
<span class="kn">from</span> <span class="nn">sklearn.neighbors</span> <span class="kn">import</span> <span class="n">NearestNeighbors</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>

<span class="c1"># 定义函数计算第k可达距离</span>
<span class="k">def</span> <span class="nf">k_Distance</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span>
    <span class="n">neigh</span> <span class="o">=</span> <span class="n">NearestNeighbors</span><span class="p">(</span><span class="n">k</span><span class="p">)</span>
    <span class="n">model</span> <span class="o">=</span> <span class="n">neigh</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
    
    <span class="n">nums</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>

    <span class="n">k_distance</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="n">neighbor_info</span> <span class="o">=</span> <span class="p">[]</span>
    
    <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">):</span>
        
        <span class="c1"># K个距离</span>
        <span class="n">dist</span> <span class="o">=</span> <span class="n">neigh</span><span class="o">.</span><span class="n">kneighbors</span><span class="p">([</span><span class="n">data</span><span class="p">[</span><span class="n">index</span><span class="p">]],</span> <span class="n">n_neighbors</span> <span class="o">=</span> <span class="n">k</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
        <span class="c1"># 最大的dist</span>
        <span class="n">k_distance</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
        
        <span class="c1"># neighbor为k个邻居的索引，dists为相应的距离</span>
        <span class="n">dists</span><span class="p">,</span> <span class="n">neighbor</span> <span class="o">=</span> <span class="n">neigh</span><span class="o">.</span><span class="n">radius_neighbors</span><span class="p">([</span><span class="n">data</span><span class="p">[</span><span class="n">index</span><span class="p">]],</span> <span class="n">radius</span> <span class="o">=</span> <span class="n">k_distance</span><span class="p">[</span><span class="n">index</span><span class="p">])</span>
        
        <span class="c1"># 排除自身</span>
        <span class="n">mask</span> <span class="o">=</span> <span class="n">neighbor</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">!=</span> <span class="n">index</span>     
        <span class="n">neighbor_info</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">neighbor</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">mask</span><span class="p">],</span> <span class="n">dists</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">mask</span><span class="p">]])</span>
    <span class="k">return</span> <span class="n">k_distance</span><span class="p">,</span> <span class="n">neighbor_info</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[21]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="c1"># 定义函数计算局部可达密度</span>
<span class="k">def</span> <span class="nf">reach_density</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">k_distance</span><span class="p">,</span> <span class="n">neighbor_info</span><span class="p">):</span>
    
    <span class="n">nums</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
    <span class="n">density_list</span> <span class="o">=</span> <span class="p">[]</span>
    
    <span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">):</span>
        
        <span class="n">neighbors</span><span class="p">,</span> <span class="n">dists</span> <span class="o">=</span> <span class="n">neighbor_info</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
        <span class="n">nums_neigh</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">neighbors</span><span class="p">)</span>
    
        <span class="n">sum_dist</span> <span class="o">=</span> <span class="mi">0</span>
        
        <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums_neigh</span><span class="p">):</span>
            
            <span class="n">k_dist_o</span> <span class="o">=</span> <span class="n">k_distance</span><span class="p">[</span><span class="n">neighbors</span><span class="p">[</span><span class="n">item</span><span class="p">]]</span> 
    
            <span class="n">direct_dist</span> <span class="o">=</span> <span class="n">dists</span><span class="p">[</span><span class="n">item</span><span class="p">]</span>
        
            <span class="n">reach_dist_p_o</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">k_dist_o</span><span class="p">,</span> <span class="n">direct_dist</span><span class="p">)</span>
        
            <span class="n">sum_dist</span> <span class="o">+=</span> <span class="n">reach_dist_p_o</span>
           
        <span class="n">density_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">nums_neigh</span><span class="o">/</span><span class="n">sum_dist</span><span class="p">)</span>
    
    <span class="k">return</span> <span class="n">density_list</span>

<span class="c1"># 定义函数计算LOF因子</span>
<span class="k">def</span> <span class="nf">cal_lof</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">neighbor_info</span><span class="p">,</span> <span class="n">lrd_list</span><span class="p">):</span>
    
    <span class="n">point_p</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
    <span class="n">neighbors</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">neighbor_info</span><span class="p">[</span><span class="n">index</span><span class="p">]</span>
    
    <span class="n">nums_neigh</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">neighbors</span><span class="p">)</span>
    <span class="n">sum_density</span> <span class="o">=</span> <span class="mi">0</span>
    
    <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums_neigh</span><span class="p">):</span>
        
        <span class="n">sum_density</span> <span class="o">+=</span> <span class="n">lrd_list</span><span class="p">[</span><span class="n">item</span><span class="p">]</span>

    <span class="k">return</span> <span class="n">sum_density</span><span class="o">/</span><span class="p">(</span><span class="n">nums_neigh</span><span class="o">*</span><span class="n">lrd_list</span><span class="p">[</span><span class="n">index</span><span class="p">])</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[22]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">dists</span><span class="p">,</span> <span class="n">neighbor_info</span> <span class="o">=</span> <span class="n">k_Distance</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">values</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>

<span class="n">lrd_list</span> <span class="o">=</span> <span class="n">reach_density</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">dists</span><span class="p">,</span> <span class="n">neighbor_info</span><span class="p">)</span>

<span class="n">nums</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>

<span class="n">lof_list</span> <span class="o">=</span> <span class="p">[]</span>

<span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">):</span>
    
    <span class="n">lof</span> <span class="o">=</span> <span class="n">cal_lof</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">data</span><span class="o">.</span><span class="n">values</span><span class="p">,</span> <span class="n">neighbor_info</span><span class="p">,</span> <span class="n">lrd_list</span><span class="p">)</span>
    <span class="n">lof_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lof</span><span class="p">)</span>

<span class="n">boolean_array</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span> <span class="o">&gt;</span> <span class="mi">5</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">lof_list</span><span class="p">]</span>

<span class="n">indicy</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">boolean_array</span><span class="p">):</span>
    <span class="k">if</span> <span class="n">value</span><span class="p">:</span>
        <span class="n">indicy</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>

<span class="k">print</span> <span class="n">indicy</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>

<div class="output_subarea output_stream output_stdout output_text">
<pre>[49, 52]
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>画出离群值：</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[23]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">index</span><span class="p">:</span>
    <span class="k">if</span> <span class="n">i</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">indicy</span><span class="p">:</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;mileage&#39;</span><span class="p">],</span> 
                <span class="n">data</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;price&#39;</span><span class="p">],</span> 
                <span class="n">c</span><span class="o">=</span><span class="s1">&#39;#2d9ed8&#39;</span><span class="p">,</span>
                <span class="n">s</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span>
                <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;^&#39;</span><span class="p">,</span>
                <span class="n">label</span><span class="o">=</span><span class="s1">&#39;inliers&#39;</span><span class="p">)</span>
    <span class="k">else</span><span class="p">:</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;mileage&#39;</span><span class="p">],</span> 
                <span class="n">data</span><span class="o">.</span><span class="n">iloc</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="s1">&#39;price&#39;</span><span class="p">],</span> 
                <span class="n">c</span><span class="o">=</span><span class="s1">&#39;#EE5150&#39;</span><span class="p">,</span>
                <span class="n">s</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span>
                <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;^&#39;</span><span class="p">,</span>
                <span class="n">label</span><span class="o">=</span><span class="s1">&#39;outliers&#39;</span><span class="p">)</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;$mileage$&#39;</span><span class="p">)</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;$price$&#39;</span><span class="p">)</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;on&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X98U/X9L/BX+iOVJqm0Gh84tV9XtV4q33pLK9NZcO5+
H6vb1PHlC9jEW/HrQMcABcV1IqzyFXTM2+pXeICKOHaLbam6O4dM3caQWlqZqwLawoTCKC0IhRaa
hDZpk8/9gzU0JT05SZOck5PX8/Hg8aDJSfJ5n3PaVz6fc87n6IQQAkRERORXgtINICIiUjMGJRER
kQQGJRERkQQGJRERkQQGJRERkYQkpRsQbZ2dtpBfm56eiu7uc2FsjXqxVm1irdoTL3UCka3VbDaN
+Bx7lEFISkpUuglRw1q1ibVqT7zUCShXK4OSiIhIAoOSiIhIAoOSiIhIAoOSiIhIAoOSiIhIAoOS
iIhIAoOSiIhIAoOSiIhIAoOSiIhIAoOSiIhIAoOSiIhIAoOSiIhIAoMyjvQOeJRuAhFRzGFQxgmn
W+DxxtNwuoXSTSEiiilRDco9e/agpKQEALBv3z7MnDkTFosFTz31FDye872d2tpaTJs2DTNnzsT2
7dsBAH19fViwYAGsVivmzJmDrq4uAMDu3bsxY8YMFBcXY82aNdEsJebUHLThq7P9qDkY+v04iYji
UdSCcv369Vi6dCmcTicAYM2aNZg3bx6qq6vhcrnw0UcfobOzE5WVlaipqcGGDRtQUVEBl8uF6upq
ZGdno6qqClOnTsXatWsBAGVlZSgvL0d1dTX27NmDlpaWaJUTU5xugY+O9QEAPjrex14lEVEQkqL1
QZmZmVi9ejV+9rOfAQDGjx+PM2fOQAgBh8OBpKQk7N27F3l5edDr9dDr9cjMzMT+/fvR1NSE2bNn
AwCmTJmCtWvXwm63w+VyITMzEwBQWFiIhoYG5OTkSLYjPT11VDf/lLoLtlqt+/wU2hwDAIA2+wC2
HHdhbt7lAV8Xi7WGirVqU7zUGi91AsrUGrWgLCoqQnt7u/fna6+9Fv/1X/+FdevWwWQy4Vvf+hY+
+OADmEwXVoLBYIDdbofdbvc+bjAYYLPZYLfbYTQafZY9evRowHZ0d58LuQaz2YTOztgaunS6BbYe
OOvz2NaDZ3HPlXqkJOpGfF0s1hoq1qpN8VJrvNQJRLZWqQBW7GSelStX4s0338QHH3yAqVOn4pe/
/CWMRiMcDod3GYfDAZPJ5PO4w+FAWlqa32XT0tKiXofa1Ry0eXuTg9rsAzxWSUQkk2JBeemll3p7
hFdccQV6enqQm5uLpqYmOJ1O2Gw2tLa2Ijs7GxMnTsSOHTsAAHV1dcjPz4fRaERycjLa2toghEB9
fT0KCgqUKkeVnG6BP3f0+n3uzx29PFZJRCRD1IZeh1uxYgUWLVqEpKQkJCcn49lnn4XZbEZJSQms
ViuEEFi0aBFSUlJgsVhQWloKi8WC5ORklJeXAwCWL1+OxYsXw+12o7CwEDfffLNS5aiSDsCSvHTJ
54mISJpOCBFX3YrRjG/zWIA2sVZtipda46VOIA6PURIREcUCBiUREZEEBiUREZEEBiUREZEEBiUR
EZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEE
BiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUR
EZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEEBiUREZEE
BiUREZEEBiUREZEEBiUF1DvgUboJRESKiWpQ7tmzByUlJQCA06dPY+7cubj//vtRXFyMtrY2AEBt
bS2mTZuGmTNnYvv27QCAvr4+LFiwAFarFXPmzEFXVxcAYPfu3ZgxYwaKi4uxZs2aaJYSN5xugccb
T8PpFko3hYhIEVELyvXr12Pp0qVwOp0AgBdeeAH33HMP3nzzTSxcuBCHDh1CZ2cnKisrUVNTgw0b
NqCiogIulwvV1dXIzs5GVVUVpk6dirVr1wIAysrKUF5ejurqauzZswctLS3RKidu1By04auz/ag5
aFO6KUREiohaUGZmZmL16tXenz/77DOcOHECDz74ILZs2YJJkyZh7969yMvLg16vh8lkQmZmJvbv
34+mpiZMnjwZADBlyhQ0NjbCbrfD5XIhMzMTOp0OhYWFaGhoiFY5ccHpFvjoWB8A4KPjfexVElFc
SorWBxUVFaG9vd37c0dHB9LS0rBx40asWbMG69evx7XXXguTyeRdxmAwwG63w263ex83GAyw2Wyw
2+0wGo0+yx49ejRgO9LTU5GUlBhyHWazKfBCGrHluAttjgEAQJt9AFuOuzA373KFWxUZ8bRdWav2
xEudgDK1Ri0ohxs7diy++93vAgC++93v4sUXX8SECRPgcDi8yzgcDphMJhiNRu/jDocDaWlpPo8N
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
SWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQ
EhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhER
SWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQEhERSWBQ
EhERSWBQEhERSVBFUJ4+fRp33HEHWltbceTIEVgsFlitVpSVlcHj8QAAamtrMW3aNMycORPbt28H
APT19WHBggWwWq2YM2cOurq6lCyDiIg0SPGg7O/vxy9+8QtccsklAIDnn38eCxcuRFVVFYQQ2LZt
Gzo7O1FZWYmamhps2LABFRUVcLlcqK6uRnZ2NqqqqjB16lSsXbtW4WqIiEhrkpRuwKpVq1BcXIzX
XnsNANDc3IxJkyYBAKZMmYKdO3ciISEBeXl50Ov10Ov1yMzMxP79+9HU1ITZs2d7l5UTlOnpqUhK
Sgy5vWazKeTXxhrWqk2sVXvipU5AmVoVDcrf/va3yMjIwOTJk71BKYSATqcDABgMBthsNtjtdphM
F1aOwWCA3W73eXxw2UC6u8+F3F6z2YTOzsCfoQWsVZtYq/bES51AZGuVCmBFg/Kdd96BTqdDY2Mj
9u3bh9LSUp/jjA6HA2lpaTAajXA4HD6Pm0wmn8cHlyUiIgonRY9Rvvnmm9i0aRMqKysxfvx4rFq1
ClOmTMGuXbsAAHV1dSgoKEBubi6amprgdDphs9nQ2tqK7OxsTJw4ETt27PAum5+fr2Q5RESkQYof
oxyutLQUy5YtQ0VFBbKyslBUVITExESUlJTAarVCCIFFixYhJSUFFosFpaWlsFgsSE5ORnl5udLN
JyIijdEJIYTSjYim0Yxv81iANrFWbYqXWuOlTkC5Y5SKXx5CRESkZgxKIiIiCQxKIiIiCQxKIiIi
CQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxK
IiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKIiIiCQxKil99fUq3gIhi
AIOS4pPLhcSK5wGXS+mWEJHKMSgpLuk+3ArdkcPQffie0k0hIpVjUFL8cbmQ8LdPAAAJTX+FcDoV
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#21478;&#22806;&#19968;&#31181;&#27604;&#36739;&#20081;&#30340;&#20889;&#27861;">&#21478;&#22806;&#19968;&#31181;&#27604;&#36739;&#20081;&#30340;&#20889;&#27861;<a class="anchor-link" href="#&#21478;&#22806;&#19968;&#31181;&#27604;&#36739;&#20081;&#30340;&#20889;&#27861;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[28]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython2"><pre><span></span><span class="n">test_2d</span> <span class="o">=</span> <span class="n">test</span><span class="p">[[</span><span class="s1">&#39;mileage&#39;</span><span class="p">,</span><span class="s1">&#39;price&#39;</span><span class="p">]]</span>
<span class="kn">from</span> <span class="nn">sklearn.neighbors</span> <span class="kn">import</span> <span class="n">NearestNeighbors</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="n">neigh</span> <span class="o">=</span> <span class="n">NearestNeighbors</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="c1"># 默认为欧式距离</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">neigh</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">test_2d</span><span class="p">)</span>

<span class="n">data</span> <span class="o">=</span> <span class="n">test_2d</span>
<span class="c1"># dist为每个样本点与第k距离邻域内的点的距离（包括自身）,neighbor为第k距离邻域点的编号（包括自身）</span>
<span class="n">dist</span><span class="p">,</span> <span class="n">neighbor</span><span class="o">=</span><span class="n">neigh</span><span class="o">.</span><span class="n">kneighbors</span><span class="p">(</span><span class="n">test_2d</span><span class="p">,</span><span class="n">n_neighbors</span><span class="o">=</span><span class="mi">6</span><span class="p">)</span>

<span class="n">k_distance_p</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">dist</span><span class="p">,</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>

<span class="n">nums</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">lrdk_p</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">lof</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">p_index</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">):</span>
    <span class="n">rdk_po</span> <span class="o">=</span> <span class="p">[]</span>
    <span class="n">neighbor_p</span> <span class="o">=</span> <span class="n">neighbor</span><span class="p">[</span><span class="n">p_index</span><span class="p">][</span><span class="n">neighbor</span><span class="p">[</span><span class="n">p_index</span><span class="p">]</span><span class="o">!=</span><span class="n">p_index</span><span class="p">]</span>
    <span class="k">for</span> <span class="n">o_index</span> <span class="ow">in</span> <span class="n">neighbor_p</span><span class="p">:</span>
        <span class="n">rdk_po</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">k_distance_p</span><span class="p">[</span><span class="n">o_index</span><span class="p">],</span><span class="nb">int</span><span class="p">(</span><span class="n">dist</span><span class="p">[</span><span class="n">p_index</span><span class="p">][</span><span class="n">neighbor</span><span class="p">[</span><span class="n">p_index</span><span class="p">]</span><span class="o">==</span><span class="n">o_index</span><span class="p">])))</span>
    <span class="n">lrdk_p</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">neighbor_p</span><span class="p">))</span><span class="o">/</span><span class="nb">sum</span><span class="p">(</span><span class="n">rdk_po</span><span class="p">))</span>

<span class="k">for</span> <span class="n">p_index</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">):</span>
    <span class="n">lrdk_o</span><span class="o">=</span><span class="p">[]</span>
    <span class="n">neighbor_p</span> <span class="o">=</span> <span class="n">neighbor</span><span class="p">[</span><span class="n">p_index</span><span class="p">][</span><span class="n">neighbor</span><span class="p">[</span><span class="n">p_index</span><span class="p">]</span><span class="o">!=</span><span class="n">p_index</span><span class="p">]</span>
    <span class="k">for</span> <span class="n">o_index</span> <span class="ow">in</span> <span class="n">neighbor_p</span><span class="p">:</span>
        <span class="n">lrdk_o</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">lrdk_p</span><span class="p">[</span><span class="n">o_index</span><span class="p">])</span>
    <span class="n">lof</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="n">lrdk_o</span><span class="p">))</span><span class="o">/</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">neighbor_p</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">lrdk_p</span><span class="p">[</span><span class="n">p_index</span><span class="p">])))</span>    

<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="mi">7</span><span class="p">))</span>

<span class="k">for</span> <span class="n">index</span><span class="p">,</span><span class="n">size</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="nb">xrange</span><span class="p">(</span><span class="n">nums</span><span class="p">),</span><span class="n">lof</span><span class="p">):</span>
    <span class="k">if</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">indicy</span><span class="p">:</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">],</span> 
                    <span class="n">data</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">],</span> 
                    <span class="n">s</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span>
                    <span class="n">c</span><span class="o">=</span><span class="s1">&#39;#efab40&#39;</span><span class="p">,</span>
                    <span class="n">alpha</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span>
                    <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;o&#39;</span><span class="p">)</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span> 
                 <span class="n">data</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span>
                <span class="nb">str</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">],</span><span class="mi">2</span><span class="p">)))</span>
    <span class="k">else</span><span class="p">:</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">],</span> 
                    <span class="n">data</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">],</span> 
                    <span class="n">s</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span>
                    <span class="n">c</span><span class="o">=</span><span class="s1">&#39;#5dbe80&#39;</span><span class="p">,</span>
                    <span class="n">alpha</span><span class="o">=</span><span class="mf">0.6</span><span class="p">,</span>
                    <span class="n">marker</span><span class="o">=</span><span class="s1">&#39;o&#39;</span><span class="p">)</span>
        <span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s1">&#39;mileage&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span> 
                 <span class="n">data</span><span class="p">[</span><span class="s1">&#39;price&#39;</span><span class="p">][</span><span class="n">index</span><span class="p">]</span><span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">])</span><span class="o">*</span><span class="mi">50</span><span class="p">,</span>
                <span class="nb">str</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="n">lof</span><span class="p">[</span><span class="n">index</span><span class="p">],</span><span class="mi">2</span><span class="p">)),</span>
                <span class="n">fontsize</span><span class="o">=</span><span class="mi">7</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;mileage&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;price&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="s1">&#39;off&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">
<div class="prompt"></div>



<div class="output_png output_subarea ">
<img src="
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
z45fbcUOBLn8b7MYnDmU5n2N2HUtOCyLf/3XxfzsZz9l7969gGHevMLQOqUXG03XEBGJMds/3sOe
ln3nnIphG8Nwz+X8bf/hEexZ36DpGiIiMSY7JYvBCQPOusrNqXmM2SlZEe5Z36dgFBHpgxyWxcRB
uQz3XE6iIx7b2BhjsI1NoiOe4Z7LNbn/C9KtVBGRPs42hsPtjbQG20lyJnJpYroC8TOc61bqxfmp
q4hIDHFY1nkt7C3nR7dSRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigY
RUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRUREwigYRURE
wigYRUREwigYRUREwigYRUREwigYRUREwrgifcEf/vCH/Pa3v8Xv9zNr1izGjh3LwoULsSyLq666
imXLluFwOKisrKSiogKXy8XcuXO5/vrraW9vp7CwkKamJtxuNyUlJaSlpUW6BBERiWERHTFWV1fz
7rvvsn79esrKymhoaGD58uXMmzeP8vJyjDFs2rSJxsZGysrKqKioYN26dZSWltLZ2cn69evJysqi
vLycqVOnsnr16kh2X0RELgIRDcYtW7aQlZXFfffdx7333st1111HbW0tY8eOBSAvL4+tW7eyc+dO
Ro0aRXx8PB6Ph4yMDHbv3k1NTQ0TJkwItd22bVskuy8iIheBiN5KPXHiBIcOHWLNmjUcPHiQuXPn
YozBsiwA3G43LS0teL1ePB5P6Pvcbjder7fb8VNtRURELqSIBmNqaiqZmZnEx8eTmZlJQkICDQ0N
odd9Ph8pKSkkJyfj8/m6Hfd4PN2On2orIiJyIUX0VmpOTg5vvfUWxhiOHDlCW1sb48aNo7q6GoCq
qipyc3PJzs6mpqaGjo4OWlpaqKurIysri9GjR7N58+ZQ25ycnEh2X0RELgKWMcZE8oIrVqyguroa
Ywzz589n2LBhLFmyBL/fT2ZmJsXFxTidTiorK9mwYQPGGObMmcOkSZNoa2ujqKiIxsZG4uLiWLly
Jenp6ee8XmOjbreKiEh36emes74W8WCMNAWjiIic7lzBqAn+IiIiYRSMIiIiYRSMIiIiYRSMIiIi
YRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSM
IiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIi
YRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSMIiIiYRSM
IiIiYRSMIiIiYRSMIiIiYRSMIiIiYaISjE1NTUycOJG6ujr27dvHrFmzyM/PZ9myZdi2DUBlZSXT
pk3jtttu48033wSgvb2dBx54gPz8fGbPns3x48ej0X0REYlhEQ9Gv9/P0qVLSUxMBGD58uXMmzeP
8vJyjDFs2rSJxsZGysrKqKioYN26dZSWltLZ2cn69evJysqivLycqVOnsnr16kh3X0REYlzEg7Gk
pISZM2cyePBgAGpraxk7diwAeXl5bN26lZ07dzJq1Cji4+PxeDxkZGSwe/duampqmDBhQqjttm3b
It19ERGJcRENxo0bN5KWlhYKNwBjDJZlAeB2u2lpacHr9eLxeEJt3G43Xq+32/FTbUVERC4kVyQv
9uKLL2JZFtu2bWPXrl0UFRV1+5zQ5/ORkpJCcnIyPp+v23GPx9Pt+Km2IiIiF1JER4wvvPACzz//
PGVlZYwYMYKSkhLy8vKorq4GoKqqitzcXLKzs6mpqaGjo4OWlhbq6urIyspi9OjRbN68OdQ2Jycn
kt0XEZGLQERHjGdSVFTEkiVLKC0tJTMzk0mTJuF0OikoKCA/Px9jDPPnzychIYFZs2ZRVFTErFmz
iIuLY+XKldHuvoiIxBjLGGOi3Yme1NiozyFFRKS79HTPWV/TBH8REZEwCkYREZEwCkYREZEwCkYR
EZEwCkYREZEwCkYREZEwCkYREZEwUZ/gLxJxxga7E0wQLCc44sHS34gi0kXBKLHPBKG5FqvtEHSe
wOpsBtsP2IADHHGY+FSIH4DpNwRSv9oVmCJyUdLKNxK7/Cexmv6A5f0Qgu3nNyo0NjgTMcmZmIFj
IE4L1YvEonOtfKNglNhjDByvwdH0RzAB+Ou2Zp/7HJYLe2AupOV8sXOISK91rmDUrVSJLf4WrEO/
wmo7DA7nFw80ywKCOBq3Yrx7MUNuhLiz/yKJSOzQEwcSOzqacRx4EavjaFcoXggOJ1b7ERwHXoSO
5gtzThHp1RSMEhv8LTjqfw4B32e3/bwsCwI+HAd/Dn7dmheJdQpG6fuMwTr0Gvi9PXudgBfr0Otd
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
MIqIiIT5/7UCAMsALmF7AAAAAElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h3 id="&#32451;&#20064;&#65306;&#23581;&#35797;&#20351;&#29992;-oneclassSVM&#12289;IsolationForest&#21644;Robust-covariance&#26041;&#27861;&#23545;&#31163;&#32676;&#20215;&#26684;&#36827;&#34892;&#26816;&#27979;&#65311;">&#32451;&#20064;&#65306;&#23581;&#35797;&#20351;&#29992; oneclassSVM&#12289;IsolationForest&#21644;Robust covariance&#26041;&#27861;&#23545;&#31163;&#32676;&#20215;&#26684;&#36827;&#34892;&#26816;&#27979;&#65311;<a class="anchor-link" href="#&#32451;&#20064;&#65306;&#23581;&#35797;&#20351;&#29992;-oneclassSVM&#12289;IsolationForest&#21644;Robust-covariance&#26041;&#27861;&#23545;&#31163;&#32676;&#20215;&#26684;&#36827;&#34892;&#26816;&#27979;&#65311;">&#182;</a></h3>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<center><font color="#888">Copyright &copy; 2017 Sid Ian@Boya, <a href="mailto:xiaodongy@boyabigdata.cn">xiaodongy@boyabigdata.cn</a>. All Rights Reserved.</font></center>
</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
